有些同學(xué)可能對(duì)Shell不太熟悉衣迷。借用池建強(qiáng)的一個(gè)解釋:簡(jiǎn)單的說畏鼓,Shell是Linux/Unix的一個(gè)外殼。它負(fù)責(zé)外界與Linux內(nèi)核的交互壶谒,接收用戶或其他應(yīng)用程序的命令云矫,然后把這些命令轉(zhuǎn)化成內(nèi)核能理解的語言,傳給內(nèi)核汗菜,內(nèi)核是真正干活的让禀,干完之后再把結(jié)果返回用戶或應(yīng)用程序。
Linux/Unix提供了很多種Shell陨界,輸入以下的命令查看有哪些Shell:
cat /etc/shells
Linux的默認(rèn) Shell 都是 bash堆缘,既然如此,那我今天為什么要說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)前用戶目錄的.zshrc里动猬。oh my zsh 在安裝時(shí)已經(jīng)自動(dòng)讀取當(dāng)前的環(huán)境變量并進(jìn)行了設(shè)置啤斗,你可以繼續(xù)追加其他環(huán)境變量。
- 換主題
打開~/.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可以說是zsh必備插件铐伴,有點(diǎn)雙劍合璧的意思撮奏。安裝了autojump之后,zsh會(huì)自動(dòng)記錄你訪問過的目錄当宴,通過j+目錄就可以直接進(jìn)行目錄跳轉(zhuǎn)畜吊,而且目錄名支持模糊匹配和自動(dòng)補(bǔ)全,例如你訪問過~/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]?接下來直接按y/n就行了托酸。真是太貼心了有木有
那如何開啟nyae提示呢褒颈?
打開~/.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í)行過的所有 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ì)話里訪問的目錄列表币狠,輸入列表前的序號(hào),即可直接跳轉(zhuǎn)
dshell.png -
在當(dāng)前目錄下輸入 .. 或 … 砾层,或直接輸入當(dāng)前目錄名都可以跳轉(zhuǎn)漩绵,不再需要輸入 cd 命令了。
cdzsh.png