Zsh-Linux下最好的Shell简介

503次阅读  |  发布于5年以前

没听过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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8