Zsh 入門和介紹
Zsh 兼容 Bash,據(jù)傳說 99% 的 Bash 操作 和 Zsh 是相同的
Zsh 官網(wǎng):http://www.zsh.org/
先看下你的 CentOS 支持哪些 shell:cat /etc/shells,正常結(jié)果應(yīng)該是這樣的:
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
默認(rèn) CentOS / Ubuntu / Mac 系統(tǒng)用的是 Bash,倒也不是說 Bash 不好,而是說我們有更好的選擇。
Zsh 安裝
CentOS 安裝:sudo yum install -y zsh
Ubuntu 安裝:sudo apt-get install -y zsh
在檢查下系統(tǒng)的 shell:cat /etc/shells,你會(huì)發(fā)現(xiàn)多了一個(gè):/bin/zsh
使用 Zsh 擴(kuò)展集合:oh-my-zsh
oh-my-zsh 幫我們整理了一些常用的 Zsh 擴(kuò)展功能和主題:https://github.com/robbyrussell/oh-my-zsh
我們無需自己去搗搞 Zsh,直接用 oh-my-zsh 就足夠了,如果你想繼續(xù)深造的話那再去弄。
先安裝 git:sudo yum install -y git
安裝 oh-my-zsh(這個(gè)過程可能會(huì)有點(diǎn)慢,或者需要重試幾次):wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh
-O - | sh
整個(gè)過程效果如下圖:
在以 root 用戶為前提下,oh-my-zsh 的安裝目錄:/root/.oh-my-zsh
在以 root 用戶為前提下,Zsh 的配置文件位置:/root/.zshrc
為 root 用戶設(shè)置 zsh 為系統(tǒng)默認(rèn) shell:chsh -s /bin/zsh root
如果你要重新恢復(fù)到 bash:chsh -s /bin/bash root
現(xiàn)在你關(guān)掉終端或是重新連上 shell,現(xiàn)在開頭是一個(gè)箭頭了,如下圖:
Home / End 失靈問題
雖然可以通過配置解決,但是建議還是直接記快捷鍵吧:
Home = Ctrl + a
End = Ctrl + e
Zsh 配置
啟用 oh-my-zsh 中自帶的插件。
oh-my-zsh 的插件列表介紹(太長了,用源碼不精準(zhǔn)地統(tǒng)計(jì)下有 149 個(gè)):https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
我們看下安裝 oh-my-zsh 的時(shí)候自帶有多少個(gè)插件:ls -l /root/.oh-my-zsh/plugins |grep "^d"|wc -l,我這邊得到的結(jié)果是:211
編輯配置文件:vim /root/.zshrc,找到下圖的地方,怎么安裝,原作者注釋寫得很清楚了,別裝太多了,默認(rèn) git 是安裝的。
插件推薦:
wd
簡單地講就是給指定目錄映射一個(gè)全局的名字,以后方便直接跳轉(zhuǎn)到這個(gè)目錄,比如:
編輯配置文件,添加上 wd 的名字:vim /root/.zshrc
我常去目錄:/opt/setups,每次進(jìn)入該目錄下都需要這樣:cd /opt/setups
現(xiàn)在用 wd 給他映射一個(gè)快捷方式:cd /opt/setups ; wd add setups
以后我在任何目錄下只要運(yùn)行:wd setups就自動(dòng)跑到 /opt/setups 目錄下了
插件官網(wǎng):https://github.com/mfaerevaag/wd
autojump
這個(gè)插件會(huì)記錄你常去的那些目錄,然后做一下權(quán)重記錄,你可以用這個(gè)命令看到你的習(xí)慣:j --stat,如果這個(gè)里面有你的記錄,那你就只要敲最后一個(gè)文件夾名字即可進(jìn)入,比如我個(gè)人習(xí)慣的 program:j
program,就可以直接到:/usr/program
插件官網(wǎng):https://github.com/wting/autojump
官網(wǎng)插件下載地址:https://github.com/wting/autojump/downloads
插件下載:wget https://github.com/downloads/wting/autojump/autojump_v21.1.2.tar.gz
解壓:tar zxvf autojump_v21.1.2.tar.gz
進(jìn)入解壓后目錄并安裝:cd autojump_v21.1.2/ ; ./install.sh
再執(zhí)行下這個(gè):source /etc/profile.d/autojump.sh
編輯配置文件,添加上 autojump 的名字:vim /root/.zshrc
zsh-syntax-highlighting
這個(gè)插件會(huì)對(duì)終端命令高亮顯示,比如正確的拼寫會(huì)是綠色標(biāo)識(shí),否則是紅色,另外對(duì)于一些shell輸出語句也會(huì)有高亮顯示,算是不錯(cuò)的輔助插件
插件官網(wǎng):https://github.com/zsh-users/zsh-syntax-highlighting
安裝,復(fù)制該命令:'git clonehttps://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting'
編輯:vim ~/.zshrc,找到這一行,后括號(hào)里面的后面添加:plugins=(
前面的一些插件名稱 zsh-syntax-highlighting)
刷新下配置:source ~/.zshrc
主題
很多人喜歡搗搞這個(gè) ╮( ̄▽ ̄)╭
搗搞主題和插件思路一樣
oh-my-zsh 的主題列表介紹(還是太長了):https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
我們看下安裝 oh-my-zsh 的時(shí)候,自帶有多少個(gè):ls -l /root/.oh-my-zsh/themes |grep "^-"|wc -l,我這邊得到的結(jié)果是:140
我個(gè)人品味地推薦的是(排名有先后):
ys
agnoster
avit
blinks
編輯配置文件:vim /root/.zshrc,找到下圖的地方,怎么安裝,原作者注釋寫得很清楚了,如果你沒特別的喜歡那就選擇隨機(jī)吧。
配置好新主題需要重新連接 shell 才能看到效果
一些人性化功能
呃,這個(gè)其實(shí)可以不用講的,你自己用的時(shí)候你自己會(huì)發(fā)現(xiàn)的,各種便捷,特別是用 Tab 多的人一定會(huì)有各種驚喜的。
使用 ctrl-r 來搜索命令歷史記錄。按完此快捷鍵后,可以輸入關(guān)鍵命令詞語,如果歷史記錄有含有此詞語會(huì)顯示出來。
命令別名:
在命令行中輸入 alias 可以查看已經(jīng)有的命令別名
自己新增一些別名,編輯文件:vim ~/.zshrc,在文件加入下面格式的命令,比如以下是網(wǎng)友提供的一些思路:
aliascls='clear'aliasll='ls -l'aliasla='ls -a'aliasgrep="grep --color=auto"alias-s html='vim'#在命令行直接輸入后綴為 html 的文件名,會(huì)在 Vim 中打開alias-s rb='vim'#在命令行直接輸入 ruby 文件,會(huì)在 Vim 中打開alias-s py='vim'#在命令行直接輸入 python 文件,會(huì)用 vim 中打開,以下類似alias-s js='vim'alias-s c='vim'alias-s java='vim'alias-s txt='vim'alias-s gz='tar -xzvf'#在命令行直接輸入后綴為 gz 的文件名,會(huì)自動(dòng)解壓打開alias-s tgz='tar -xzvf'alias-s zip='unzip'alias-s bz2='tar -xjvf'
差異
我們現(xiàn)在增加系統(tǒng)變量在:/etc/profile 后,輸入命令:source /etc/profile 之后,重啟服務(wù)器發(fā)現(xiàn)剛剛的系統(tǒng)變量現(xiàn)在沒效果。
解決辦法:vim ~/.zshrc,在該配置文件里面增加一行:source
/etc/profile,然后刷新 zsh 的配置:source ~/.zshrc。差異
更多使用方法大家自己再玩玩!