主頁 > 知識庫 > Linux上超酷的命令行擴(kuò)展工具Oh My Zsh

Linux上超酷的命令行擴(kuò)展工具Oh My Zsh

熱門標(biāo)簽:外呼系統(tǒng) 服務(wù)器配置 硅谷的囚徒呼叫中心 百度競價點(diǎn)擊價格的計算公式 美團(tuán) 家政服務(wù)網(wǎng)絡(luò) 解決方案 電話機(jī)器人搭建

Oh My Zsh 是一款社區(qū)驅(qū)動的命令行工具,正如它的主頁上說的,Oh My Zsh 是一種生活方式。它基于 zsh 命令行,提供了主題配置,插件機(jī)制,已經(jīng)內(nèi)置的便捷操作。給我們一種全新的方式使用命令行。

什么是 Oh My Zsh
Oh My Zsh 這個名字聽起來就很有意思~, 它是基于 zsh 命令行的一個擴(kuò)展工具集,提供了豐富的擴(kuò)展功能。 Oh My Zsh 的主頁上,對它的定義有了明確的解釋:http://ohmyz.sh

關(guān)于 zsh,它是一種命令行程序。我們 MAC 系統(tǒng)上默認(rèn)使用的 bash 命令行,而 zsh 是另外一種命令行環(huán)境,關(guān)于 zsh 大家可以到它的官網(wǎng)了解:http://www.zsh.org/

我們可以在命令行中輸入這個命令來查看我們的電腦上是否安裝了 zsh 命令行:

復(fù)制代碼
代碼如下:

zsh --version

如果安裝了,這個命令就會輸出 zsh 當(dāng)前的版本號。確定 zsh 已經(jīng)安裝后,我們就可以繼續(xù)安裝 Oh My Zsh 了。

Oh My Zsh 不是什么
說到命令行工具,我們的第一感受呢,Oh My Zsh 是這個?

嗯。。 這個只說對了一半,Oh My Zsh 只是一個對 zsh 命令行環(huán)境的配置包裝框架,但它不提供命令行窗口,更不是一個獨(dú)立的 APP。

上圖中的命令行界面,可以是 Mac 系統(tǒng)自帶的 Terminal 程序,也可以是某個第三方的命令行程序,比如 iTerm。

總之,Oh My Zsh 并不是某個命令行工具的替代品,而是和它們互為補(bǔ)充??梢詫?Oh My Zsh 與 iTerm 一起使用,這樣你就可以得到 Oh My Zsh 命令行環(huán)境的便捷特性,同時也能用到 iTerm 提供的命令行 GUI 工具的操作支持。

就像 Oh My Zsh 的主頁上面說的:“當(dāng)你用了這些非常酷的命令行工具后,人們來到你的電腦前,一定會對你的命令行大加稱贊。迎來一片點(diǎn)贊。”

安裝 Oh My Zsh
我們了解了 Oh My Zsh 大致的情況了,那么咱們開始安裝吧~

Oh My Zsh 的安裝方式非常簡單,在它的主頁上有很明確的說明:http://ohmyz.sh

可以通過 curl 或 wget 的方式,用一條命令即可安裝。

curl 方式:

復(fù)制代碼
代碼如下:

$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

wget 方式:

復(fù)制代碼
代碼如下:

$ sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安裝過程中輸出如下:

復(fù)制代碼
代碼如下:

Cloning Oh My Zsh...
Cloning into '/Users/icafe/.oh-my-zsh'...
remote: Counting objects: 712, done.
remote: Compressing objects: 100% (584/584), done.
remote: Total 712 (delta 15), reused 522 (delta 4), pack-reused 0
Receiving objects: 100% (712/712), 443.58 KiB | 27.00 KiB/s, done.
Resolving deltas: 100% (15/15), done.
Checking connectivity... done.
Looking for an existing zsh config...
Using the Oh My Zsh template file and adding it to ~/.zshrc
Copying your current PATH and adding it to the end of ~/.zshrc for you.
Time to change your default shell to zsh!
__ __
____ / /_ ____ ___ __ __ ____ _____/ /_
/ __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \
/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / /
\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/
/____/ ....is now installed!
Please look over the ~/.zshrc file to select plugins, themes, and options.
p.s. Follow us at https://twitter.com/ohmyzsh.
p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.

到這里,Oh My Zsh 就安裝成功了。現(xiàn)在可以看到,我們的命令行提示符變成了這樣:


設(shè)置主題
安裝完畢后,我們就可以使用了,咱們先來簡單配置一下。

Oh My Zsh 提供了很多主題風(fēng)格,我們可以根據(jù)自己的喜好,設(shè)置主題風(fēng)格,主題的配置在 ~/.zshrc 文件中可以看到,用一個自己熟悉的編輯器打開這個文件,可以找到這一項(xiàng):

復(fù)制代碼
代碼如下:

ZSH_THEME="robbyrussel"

可以看到,我們默認(rèn)使用的主題叫做 robbyrussel。 它的顯示效果嘛,大概是這樣:

Oh My Zsh 默認(rèn)自帶了一些默認(rèn)主題,存放在 ~/.oh-my-zsh/themes 目錄中。我們可以查看這些主題:


復(fù)制代碼
代碼如下:
themes git:(master) ls

3den.zsh-theme                essembeh.zsh-theme            junkfood.zsh-theme            rgm.zsh-theme
Soliah.zsh-theme              evan.zsh-theme                kafeitu.zsh-theme             risto.zsh-theme
adben.zsh-theme               example.zsh-theme             kardan.zsh-theme              rixius.zsh-theme
af-magic.zsh-theme            fino-time.zsh-theme           kennethreitz.zsh-theme        rkj-repos.zsh-theme
afowler.zsh-theme             fino.zsh-theme                kiwi.zsh-theme                rkj.zsh-theme
agnoster.zsh-theme            fishy.zsh-theme               kolo.zsh-theme                robbyrussell.zsh-theme
alanpeabody.zsh-theme         flazz.zsh-theme               kphoen.zsh-theme              sammy.zsh-theme
amuse.zsh-theme               fletcherm.zsh-theme           lambda.zsh-theme              simonoff.zsh-theme
apple.zsh-theme               fox.zsh-theme                 linuxonly.zsh-theme           simple.zsh-theme
arrow.zsh-theme               frisk.zsh-theme               lukerandall.zsh-theme         skaro.zsh-theme
....
怎么樣,默認(rèn)主題的數(shù)量相當(dāng)多吧,這就是社區(qū)驅(qū)動的力量,從 Oh My Zsh 的這個 Logo 就可以體現(xiàn)出來~

這么多的主題可以滿足你的各種偏好了,我們只需在 ./zshrc 文件中配置需要的主題即可,比如我們想用 lambda.zsh-theme 這個主題,我們只要這樣配置:

復(fù)制代碼
代碼如下:

ZSH_THEME="lambda"

然后保存這個文件文件,再打開一個新的命令行窗口即可看到效果了。那么這么多的主題如何快速找到哪些是我們喜歡的呢,我們還可以這樣設(shè)置:

復(fù)制代碼
代碼如下:

ZSH_THEME="random"

我們將主題設(shè)置為隨機(jī),這樣在我們每次打開命令行窗口的時候,都會隨機(jī)在默認(rèn)主題中選擇一個。這樣我們?nèi)绻X得當(dāng)前的主題比較喜歡,可以直接使用 echo 命令輸出當(dāng)前主題的名稱:

復(fù)制代碼
代碼如下:

echo $ZSH_THEME

然后再將他設(shè)置到配置文件中即可。
快捷選擇目錄和文件
主題了解完了,咱們在繼續(xù)進(jìn)行。我們使用另外一個命令行環(huán)境,顯然不光是為了能用到更多的主題風(fēng)格,更重要的是,這個命令行環(huán)境能讓我們使用起來更便捷。那么,咱們繼續(xù)看一下 Oh My Zsh 所提供的便捷操作吧。

我們在使用命令行工具通過類似 cd 命令在目錄和文件中切換的時候,一個痛點(diǎn)就是我們必須先要查看目錄結(jié)構(gòu)和文件名。比如我們想用 cd 命令進(jìn)入一個目錄,那么我們必須先知道這個目錄的名字。這對于習(xí)慣使用 Finder 這樣的 GUI 工具的朋友就比較不習(xí)慣了。在 bash 中,我們一般都是先使用 ls 命令列出當(dāng)前目錄列表,然后再使用 cd 命令進(jìn)入某個目錄:

復(fù)制代碼
代碼如下:

ls -l
                                                                                                         ~
drwx------   4 icafe  staff   136 Aug  9 12:34 Applications
drwx------+ 40 icafe  staff  1360 Oct 31 11:15 Desktop
drwx------+ 13 icafe  staff   442 Oct 30 19:49 Documents
drwx------+ 46 icafe  staff  1564 Oct 31 08:15
drwx------@ 57 icafe  staff  1938 Oct 27 05:45 Library
cd Library/
Mac 上面的 bash 還做了一些優(yōu)化,我們可以在輸入了目錄的一部分前綴后,按 Tab 鍵可以進(jìn)行自動補(bǔ)齊,來幫我們匹配這個前綴開頭的目錄名:

復(fù)制代碼
代碼如下:

cd Li

按下 Tab 鍵:

復(fù)制代碼
代碼如下:

cd Library/

則會按照前綴匹配功能為我們補(bǔ)齊目錄名。但這個還是有一些不方便,比如這個自動補(bǔ)齊功能是精確匹配大小寫的,加入我們輸入 cd lib 然后按 Tab 鍵的話,是不能夠匹配到 Library 目錄的,因?yàn)樗麄兊拇笮懖黄ヅ洹?/p>

Oh My Zsh 提供了更好的解決方法,我們在 Oh My Zsh 的命令行中輸入 cd lib 然后按下 Tab 鍵:

復(fù)制代碼
代碼如下:

cd Library/

成功的匹配到了 Library 目錄。如果我們在 cd 命令后面加一個空格,然后按下 Tab 鍵:

復(fù)制代碼
代碼如下:

cd Tab>

Applications/  System/        bin/           dev/           net/           sbin/          var@
Library/       Users/         cores/         etc@           opt/           tmp@           用戶信息@
Network/       Volumes/       data/          home/          private/       usr/
直接列出了當(dāng)前目錄中的所有子目錄和文件,在這個狀態(tài)下,如果我們繼續(xù)在按下一個 Tab 鍵。

你就會發(fā)現(xiàn),我們可以在這個目錄和文件列表中,通過光標(biāo)移動并選擇了:

Oh My Zsh 的這個特性還是很方便的。

結(jié)語
Oh My Zsh 最好的地方就是它的社區(qū)驅(qū)動力,我們前面介紹的各種主題以及便捷的目錄操作,只是它很小的一部分。還有它的插件機(jī)制也是它非常強(qiáng)大的地方,能將命令行演化出各種滿足我們需求的形態(tài)。

標(biāo)簽:北海 烏蘭察布 防城港 韶關(guān) 南昌 臨沂 邢臺 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux上超酷的命令行擴(kuò)展工具Oh My Zsh》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266