先來一張美圖
1 zsh 介紹
1.1 Linux shell
Linux/Unix 提供了很多種 Shell,為毛要這么多 Shell?
難道用來炒著吃么?那我問你,你同類型的衣服怎么有那么多件?花色,質(zhì)地還不一樣。寫程序比買衣服復(fù)雜多了,而且程序員往往負(fù)責(zé)把復(fù)雜的事情搞簡單,簡單的事情搞復(fù)雜。牛程序員看到不爽的 Shell,就會(huì)自己重新寫一套,慢慢形成了一些標(biāo)準(zhǔn),常用的 Shell 有這么幾種,sh、bash、csh 等,想知道你的系統(tǒng)有幾種 shell,可以通過以下命令查看:
cat/etc/shells
顯示如下:
1.2 zsh 簡介
Zsh 是一個(gè) Linux 下強(qiáng)大的 shell, 由于大多數(shù) Linux 產(chǎn)品安裝,以及默認(rèn)使用bash shell
, 但是絲毫不影響極客們對(duì) zsh 的熱衷, 幾乎每一款 Linux 產(chǎn)品都包含有 zsh,通常可以用 apt-get、urpmi 或 yum 等包管理器進(jìn)行安裝
Zsh 具有以下主要功能
-
在用戶啟動(dòng)的所有 shell 中共享命令歷史
-
通過擴(kuò)展的文件通配符,可以不利用外部命令達(dá)到 find 命令一般展開文件名
-
改進(jìn)的變量與數(shù)組處理
-
在緩沖區(qū)中編輯多行命令
-
多種兼容模式,例如使用 / bin/sh 運(yùn)行時(shí)可以偽裝成 Bourne shell
-
可以定制呈現(xiàn)形式的提示符;包括在屏幕右端顯示信息,并在鍵入長命令時(shí)自動(dòng)隱藏
-
可加載的模塊,提供其他各種支持:完整的 TCP 與 Unix 域套接字控制,F(xiàn)TP 客戶端與擴(kuò)充過的數(shù)學(xué)函數(shù)
-
完全可定制化
1.3 zsh 與 oh-my-zsh 終極配置
之前是因?yàn)榭吹竭@篇文章:終極 Shell——Zsh 才選擇使用 zsh,被它的自動(dòng)完成、補(bǔ)全功能吸引了。官網(wǎng):www.zsh.org
選擇 oh-my-zsh, oh-my-zsh 是基于 zsh 的功能做了一個(gè)擴(kuò)展,方便的插件管理、主題自定義,以及漂亮的自動(dòng)完成效果。
在 Github 上找關(guān)于 zsh 的項(xiàng)目時(shí)發(fā)現(xiàn)的,試用了一下覺得很方便,不用像上面文章里面提到的那么復(fù)雜,配置一些插件的名稱即可使用相應(yīng)的功能。
官網(wǎng):https://github.com/robbyrussell/oh-my-zsh
2 安裝 zsh
2.1 安裝 zsh
對(duì)于一般的 Ubuntu 系統(tǒng),配置好正確的源之后,就能直接鍵入以下命令安裝:
sudoapt-getinstallzsh
2.2 配置 zsh
zsh 的配置是一門大學(xué)問,這里不贅述,直接給出一個(gè)配置文件,大家可以下載后放入 zsh 配置文檔直接使用。(我的一個(gè)法國朋友手配的,相當(dāng)順手)
把. zshrc 拷貝到相應(yīng)用戶的 home 目錄即可 (也可以把你的 bash 的配置文件 (~/.bash_prorile 或者~/.profile 等) 給拷貝到 zsh 的配置文件~/.zshrc 里,因?yàn)?zsh 兼容 bash)
2.3 取代 bash,設(shè)為默認(rèn) shell
sudousermod-s/bin/zshusername
或者
chsh-s/bin/zsh
chsh-s`whichzsh`
如果要切換回去 bash:
chsh-s/bin/bash
當(dāng)然你實(shí)在不愿意把 zsh 當(dāng)成默認(rèn)的 shell, 而又想使用它, 那么你可以每次進(jìn)入是都使用zsh
進(jìn)入, 而輸入exit
退出
2.4 安裝 oh-my-zsh
直接用 zsh 會(huì)很蛋疼,因?yàn)?zsh 功能很強(qiáng)大但是太復(fù)雜,所以需要 oh-my-zsh 來將它簡單化
直接用 git 從 github 上面下載包
gitclonegit://github.com/robbyrussell/oh-my-zsh.git~/.oh-my-zsh
備份已有的 zshrc, 替換 zshrc
cp~/.zshrc~/.zshrc.orig cp~/.oh-my-zsh/templates/zshrc.zsh-template~/.zshrc
直接使用腳本安裝
cdoh-my-zsh/tools ./install.sh
你可以直接直接使用如下命令安裝
curl
sh-c"$(curl-fsSLhttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
wget
sh-c"$(wgethttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh-O-)"
其本質(zhì)就是下載并執(zhí)行了 github 上的 install.sh 腳本, 該腳本位于oh-my-zsh/tools/install.sh
配置主題
oh-my-zsh 集成了大量的主題, 位于oh-my-zsh/theme
配置主題, 可以通過修改~/.zshrc
中的環(huán)境變量ZSH_THEME
來完成
ZSH_THEME="agnoster"#(thisisoneofthefancyones)
如果你覺得主題太多你可以選擇使用隨機(jī)模式, 來由系統(tǒng)隨機(jī)選擇
ZSH_THEME="random"#(...pleaseletitbepie...pleasebesomepie..)
詳細(xì)的主題信息, 可以參見 zsh 主題介紹
配置插件
修改~/.zshrc
中plugins
plugins=(gitbundlerosxrakeruby)
詳細(xì)的插件信息, 可以參見 zsh 插件 Plugins 介紹
更新 oh-my-zsh
默認(rèn)情況下, 您將被提示檢查每幾周的升級(jí). 如果你想我 ZSH 自動(dòng)升級(jí)本身沒有提示你, 修改 `~/.zshrc
disable_update_prompt=true
禁用自動(dòng)升級(jí), 修改~/.zshrc
disable_auto_update=true
當(dāng)然你也可以選擇手動(dòng)更新
如果你想在任何時(shí)間點(diǎn)升級(jí)(也許有人剛剛發(fā)布了一個(gè)新的插件,你不想等待一個(gè)星期?) 你只需要運(yùn)行:
upgrade_oh_my_zsh
卸載 oh-my-zsh
如果你想卸載oh-my-zsh
, 只需要執(zhí)行uninstall_oh_my_zsh zsh
, 從命令行運(yùn)行. 這將刪除本身和恢復(fù)你以前的 bash 或者 zsh 配置.
uninstall_oh_my_zshzsh
審核編輯 :李倩
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209332 -
Shell
+關(guān)注
關(guān)注
1文章
365瀏覽量
23357
原文標(biāo)題:Linux 超級(jí)漂亮的 Shell
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論