没听过Shell?Shell是Unix/Linux系统下的外壳,负责外界和Linux内核的交互,将用户输入的命令转换成内核能懂的语言,执行相应的指令,然后将输出返回给用户.
###查看当前系统所有的Shell
ls /etc/shells
结果如下:
###安装Zsh
sudo apt-get install zsh
简单吧?把它设置为默认Shell,chsh -s /bin/zsh
它的默认配置为.zshrc,你可以在里面配置各种按键别名,你也可以使用Github上比较流行的oh-my-zsh配置,安装方法:
自动安装:
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
手动安装:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
安装之后进入一个Git分支,显示是这样的,很炫对吧?
以前切换工作目录一直按cd加tab是不是很麻烦,现在有了Zsh只需要输入d,他会显示最近使用的工作目录,然后输入数字进入对应的目录,是不是很省事?
它的功能不局限如此,时间长了忘记了tar的参数?输入tar -
按一下tab键会显示所有的命令行参数,再按一下tab进入选择模式,如图:
以前杀死进程是不是用ps aux | grep python
现在只需要输入kill python
再按一下tab键,结果变成这样了,神奇把?
###插件
在.zshrc文件里可以配置你要使用的插件,Zsh提供上千种插件,你可以配置自己Shell的主题,我用的是ZSH_THEME=”robbyrussell”
,你还可以配置需要的插件,我的插件是plugins=(git autojump mvn gradle)
,简单介绍下git和autojump:
git. 当你进入一个git目录时,Zsh会显示git和所在的分支,对git的命令进行了简化,例如 gco=’git checkout’、gd=’git diff’、gst=’git status’、g=’git’等等,熟练使用可以大大减少 git 的命令长度,命令内容可以参考~/.oh-my-zsh/plugins/git/git.plugin.zsh
autojump. 安装方法:
wget https://github.com/downloads/joelthelion/autojump/autojump_v21.1.2.tar.gz
解压缩后进入目录,执行./install.sh
,最后加上这一行代码到.zshrc中:
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
安装了autojump之后,zsh 会自动记录你访问过的目录,通过 j + 目录名 可以直接进行目录跳转,而且目录名支持模糊匹配和自动补全,例如你访问过workspace目录,输入j work 即可正确跳转。j –stat 可以看你的历史路径库。
你还可以参考Zsh