shell是linux/unix的外壳,它负责外界与linux内核的交互,接收用户或其他程序的命令,把这些命令转化成内核能理解的语言。shell类型有很多,常用的shell有sh、bash、csh等。查看系统中支持的shell
$ cat /etc/shells
---
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
zsh相对于bash具有更强大的功能,被称为终极shell,由于与bash相似,功能又有所加强,zsh在linux社区获得了关注,但因为配置复杂,初期使用并不广泛,直到开源项目oh-my-zsh出现,它极大地简化了zsh的安装与使用,使zsh得到大范围使用。MacOS从Catalina beta版本开始将系统默认shell改为zsh,而Mojave及更早的MacOS版本的默认shell为bash。
一、安装、卸载及切换
- 安装
通过wget安装:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
通过curl安装:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- 卸载
uninstall_oh_my_zsh
- MacOS切换shell
- 切换为zsh:
chsh -s /bin/zsh
- 切换为bash:
chsh -s /bin/bash
- 切换为zsh:
二、使用
- 加载zsh配置
vim ~/.zshrc
source ~/.zshrc
- 查看插件、添加插件
查看oh-my-zsh插件:
ls ~/.oh-my-zsh/plugins
添加插件:
~/.zshrc配置文件中默认只添加了git一个插件,其它插件只需将插件名添加到插件列表即可,注意插件间用空格分割,比如添加brew、z两个插件:
vim ~/.zshrc
---
修改配置:plugins=(git brew z)
source ~/.zshrc
- 自动补全
下载自动补全插件:自动补全需要的插件zsh-autosuggestion 不是oh-my-zsh自带的插件,需要自己下载:
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
将zsh-autosuggestions 添加到zsh插件列表并重启zshrc文件。使用时按右键使用提示做补全
$ vim ~/.zshrc
- 查看命令使用频率
zsh_stats
---
1 23 32.8571% ls
2 14 20% cd
3 10 14.2857% z
4 7 10% vim
- 创建文件夹并进入
take test
- 自动跳转
将z
插件添加到zsh插件列表,它会根据你的行为自动匹配跳转到使用频率最高的文件夹。类似于autojump插件
# jerry @ MacBook-Pro-6 in ~/test222 [18:12:04]
$ z doc
# jerry @ MacBook-Pro-6 in ~/Documents [18:14:45]
$
- 查看带时间的历史命令记录
修改并刷新zshrc配置文件:
HIST_STAMPS="yyyy-mm-dd"
history
---
1 2019-06-06 17:17 ls
2 2019-06-06 17:17 j git
- 删除文件/文件夹到垃圾桶
安装trash
brew install trash
trash xxx