有些同學(xué)可能對(duì)Shell不太熟悉。借用池建強(qiáng)的一個(gè)解釋:簡(jiǎn)單的說(shuō),Shell是Linux/Unix的一個(gè)外殼。它負(fù)責(zé)外界與Linux內(nèi)核的交互,接收用戶(hù)或其他應(yīng)用程序的命令,然后把這些命令轉(zhuǎn)化成內(nèi)核能理解的語(yǔ)言,傳給內(nèi)核,內(nèi)核是真正干活的,干完之后再把結(jié)果返回用戶(hù)或應(yīng)用程序。
Linux/Unix提供了很多種Shell,輸入以下的命令查看有哪些Shell:
cat /etc/shells
Linux的默認(rèn) Shell 都是 bash,既然如此,那我今天為什么要說(shuō)zsh呢?因?yàn)閦sh搭配上"oh my zsh"真的好用到爆啊!"oh my zsh"的Github網(wǎng)址點(diǎn)我點(diǎn)我!。
那么如何安裝、配置和使用 zsh(我用的是Ubuntu)
1. 安裝zsh
sudo apt-get install zsh
2. 安裝oh my zsh
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
3. 配置zsh
zsh的配置在當(dāng)前用戶(hù)目錄的.zshrc里。oh my zsh 在安裝時(shí)已經(jīng)自動(dòng)讀取當(dāng)前的環(huán)境變量并進(jìn)行了設(shè)置,你可以繼續(xù)追加其他環(huán)境變量。
- 換主題
打開(kāi)~/.zshrc。oh my zsh提供了數(shù)十種主題,相關(guān)文件在~/.oh-my-zsh/themes下,你可以隨意選擇,我采用的是ys主題。
在~/.zshrc文件中找到
ZSH_THEME="ys"
更改成你想要的主題就好了。
- 插件
oh my zsh里提供了非常多的插件,相關(guān)文件在~/.oh-my-zsh/plugins文件夾下,默認(rèn)有100多種,我們可以根據(jù)自己的實(shí)際需要加載特定的插件。插件也是在~/.zshrc里配置,找到plugins關(guān)鍵字,你就可以加載自己的插件了,系統(tǒng)默認(rèn)加載 git ,你可以在后面追加內(nèi)容。
plugins=(git autojump mvn last-working-dir)
下面簡(jiǎn)單介紹一下我用的這幾個(gè)插件:
-
git:當(dāng)你處于git的目錄下時(shí),Shell 會(huì)明確顯示 git和 branch,如圖所示,另外對(duì) git 很多命令進(jìn)行了簡(jiǎn)化,例如 gco=’git checkout’、gd=’git diff’、gst=’git status’、g=’git’等等,熟練使用可以大大減少 git 的命令長(zhǎng)度,命令內(nèi)容可以參考~/.oh-my-zsh/plugins/git/git.plugin.zsh
git.png -
autojump
autojump可以說(shuō)是zsh必備插件,有點(diǎn)雙劍合璧的意思。安裝了autojump之后,zsh會(huì)自動(dòng)記錄你訪(fǎng)問(wèn)過(guò)的目錄,通過(guò)j+目錄就可以直接進(jìn)行目錄跳轉(zhuǎn),而且目錄名支持模糊匹配和自動(dòng)補(bǔ)全,例如你訪(fǎng)問(wèn)過(guò)~/workspace目錄,輸入j wor即可正確跳轉(zhuǎn),如圖。j –stat 可以看你的歷史路徑庫(kù)。
autoj.png - last-working-dir
last-working-dir 插件,可以記錄上一次退出Shell時(shí)的所在路徑,并且在下一次啟動(dòng)Shell時(shí)自動(dòng)恢復(fù)到退出時(shí)所在的路徑。這一切不需要進(jìn)行任何操作,全部都是自動(dòng)完成的。 - 命令糾錯(cuò)
如圖,輸入
sudp apt-get install
nyae會(huì)提示zsh: correct 'sudp' to 'sudo' [nyae]?接下來(lái)直接按y/n就行了。真是太貼心了有木有
那如何開(kāi)啟nyae提示呢?
打開(kāi)~/.zshrc,找到配置項(xiàng)更改為“true”即可
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
4. 指定zsh為默認(rèn)Shell
輸入命令
chsh -s /bin/zsh
5. zsh操作
- 輸入 grep 然后用上下箭頭可以翻閱你執(zhí)行過(guò)的所有 grep 命令
- tab補(bǔ)全:路徑補(bǔ)全、命令補(bǔ)全,命令參數(shù)補(bǔ)全,插件內(nèi)容補(bǔ)全等等。觸發(fā)補(bǔ)全只需要按一下或兩下 tab 鍵,補(bǔ)全項(xiàng)可以使用 ctrl+n/p/f/b上下左右切換。
-
目錄瀏覽和跳轉(zhuǎn):輸入 d,即可列出你在這個(gè)會(huì)話(huà)里訪(fǎng)問(wèn)的目錄列表,輸入列表前的序號(hào),即可直接跳轉(zhuǎn)
dshell.png -
在當(dāng)前目錄下輸入 .. 或 … ,或直接輸入當(dāng)前目錄名都可以跳轉(zhuǎn),不再需要輸入 cd 命令了。
cdzsh.png