默認的/bin/bash使用體驗只能說一般般,還是zsh配合oh-my-zsh使用體驗更好,推薦大家有興趣的都可以嘗試一下,這里記錄一下,方便后面自己在其他CentOS系統上安裝配置。如果能夠幫到正在看這篇博客的你那么也是極好的!
- 這篇博客是在CentOS 7.5系統上安裝的,理論上大部分Linux發行版都可以安裝(可能有細微的不同)。
1、安裝zsh和oh-my-zsh
1.1 查看當前shell
[root@staryjie ~]# echo $SHELL
/bin/bash
[root@staryjie ~]#
1.2 安裝zsh
[root@staryjie ~]# yum install -y zsh
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解決依賴關系
--> 正在檢查事務
---> 軟件包 zsh.x86_64.0.5.0.2-34.el7_8.2 將被 安裝
--> 解決依賴關系完成
依賴關系解決
========================================================================================================================
Package 架構 版本 源 大小
========================================================================================================================
正在安裝:
zsh x86_64 5.0.2-34.el7_8.2 updates 2.4 M
事務概要
========================================================================================================================
安裝 1 軟件包
總下載量:2.4 M
安裝大小:5.6 M
Downloading packages:
zsh-5.0.2-34.el7_8.2.x86_64.rpm | 2.4 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安裝 : zsh-5.0.2-34.el7_8.2.x86_64 1/1
驗證中 : zsh-5.0.2-34.el7_8.2.x86_64 1/1
已安裝:
zsh.x86_64 0:5.0.2-34.el7_8.2
完畢!
[root@staryjie ~]#
1.3 查看系統中已經安裝的shell
[root@staryjie ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/zsh # 已經安裝
[root@staryjie ~]#
1.4 切換shell
[root@staryjie ~]# chsh -s /bin/zsh
Changing shell for root.
Shell changed.
[root@staryjie ~]#
1.5 安裝git
yum install -y git
1.6 安裝oh-my-zsh(自動)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

到這里oh-my-zsh已經安裝完成了。
1.7 手動安裝(可選)
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
2、配置和優化oh-my-zsh
2.1 修改主題
2.1.1 查看有哪些主題
ls ~/.oh-my-zsh/themes/
# 具體有哪些主題可以在 ~/.oh-my-zsh/themes/目錄下查看。

2.1.2 修改主題
vim ~/.zshrc
# ZSH_THEME 字段就是主題,根據上面查看到的主題中選一個自己喜歡的替換即可,默認主題是`robbyrussell`
# 如果想每次進入shell的時候隨機使用一款主題,那么可以設置 ZSH_THEME="random"
# 個人比較喜歡 xiong-chiamiov 這款主題
# 修改完之后通過 source ~/.zshrc 即可讓設置的主題生效,當然退出當前terminal重新登錄也可以生效。

source ~/.zshrc
查看生效之后的主題:

2.2 配置別名
2.2.1 oh-myzsh自帶的別名(很強大)
別名的配置在我們克隆的目錄中也可以找到推薦的用法。比如git的別名配置就在:
cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
2.2.2 自定義別名
也可以自定義別名,只需要在~/.zshrc中通過alias xx='xxxx'的形式配置即可,建議放在~/.zsrc文件的最下面。
3、插件安裝和推薦
oh-my-zsh下載的時候已經自帶了很多的插件可以供我們使用,有一些其他比較好的插件也可以自己下載安裝使用。
在oh-my-zsh默認的配置中只啟用了git插件:

3.1 extract
提供一個 extract 命令,以及它的別名 x。功能是:一!鍵!解!壓!你知道tar的四種寫法嗎?我也不知道,所以我裝了這個。從今以后 tar, gz, zip, rar 全部使用 extract 命令解壓,再也不用天天查 cheatsheet 啦!
3.2 rand-quote
提供一條 quote 命令,顯示隨機名言。和fortune的作用差不多,但是我感覺fortune上面大多是冷笑話,還是quote的內容比較有意思。
當然這種東西很少有人會主動去按的。所以你可以在你的zshrc里面的最后一行加上quote,實現每次打開shell顯示一條名言的效果~
再進一步,安裝一個cowsay,把quote | cowsay放到zshrc的最后一行。於是每次打開終端你就可以看到一頭牛對你說:
3.3 themes
提供一條 theme 命令,用來隨時手動切換主題。在想要嘗試各種主題的時候很實用,不需要一直改 zshrc 然后重載。
3.4 gitignore
提供一條 gi 命令,用來查詢 gitignore 模板。比如你新建了一個 python 項目,就可以用:
gi python > .gitignore
3.5 cp
提供一個 cpv 命令,這個命令使用 rsync 實現帶進度條的復制功能。
3.6 zsh_reload
提供一個 src 命令,重載 zsh。對於經常折騰 zshrc 的我,這條命令非常實用。
3.7 git-open
提供一個 git-open 命令,在瀏覽器中打開當前所在 git 項目的遠程倉庫地址。
3.8 z
提供一個 z 命令,在常用目錄之間跳轉。類似 autojump,但是不需要額外安裝軟件。
3.9 vi-mode
vim輸入模式,非常強大,不用多說。
3.10 per-directory-history
開啟之后在一個目錄下只能查詢到這個目錄下的歷史命令。按 Ctrl+g 開啟/關閉。
3.11 command-not-found
當你輸入一條不存在的命令時,會自動查詢這條命令可以如何獲得。
3.12 safe-paste
在你復制了一些網上或者自己的腳本到當前終端的時候這些腳本往往就會自動運行,很可能會造成一些系統故障之類的。這個插件就是為了防止這樣的事情發生,當你粘貼一些腳本到終端時,它可以防止腳本立刻運行,給你檢查和修改的機會。
3.13 colored-man-pages
當你使用man命令查看幫助文檔的時候,這個插件可以給man文檔提供不同的配色,使你看起來更加舒適和明了。
3.14 sudo
普通用戶有時候需要執行一些命令需要在最前面加上sudo,但是很多時候我們會忘記加上它,有了這個插件,你只需要在輸入完命令之后按兩下Esc鍵,它會自動幫你加上sudo。
3.15 zsh-syntax-highlighting
代碼語法高亮顯示插件,毫無疑問,非常好用,但是需要自己安裝。
安裝方法官方文檔:https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md
個人比較喜歡的安裝方法:
# 1.進入oh-my-zsh自定義插件目錄
cd ~/.oh-my-zsh/custom/plugins
# 2.拉取zsh-syntax-highlighting代碼
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
# 3.在配置文件~/.zshrc中添加插件(注意:自定義安裝的插件最好放在所有插件的最下方)
plugins=(
git
wd
colored-man-pages
yum
bundler
rand-quote
extract
themes
gitignore
zsh_reload
per-directory-history
zsh-syntax-highlighting
)
# 4.使插件生效(在配置文件最后加上下面這一行代碼)
source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# 5.保存退出之后,source ~/.zshrc即可生效
source ~/.zshrc
3.16 zsh-autosuggestions
zsh的自動補全插件,可以根據你之前的使用習慣自動給你補全的建議,強烈建議安裝。
官方安裝文檔:https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md
個人比較喜歡的安裝方法:
# 1.進入oh-my-zsh自定義插件目錄
cd ~/.oh-my-zsh/custom/plugins
# 2.拉取zsh-autosuggestions代碼
git clone https://github.com/zsh-users/zsh-autosuggestions
# 3.在配置文件~/.zshrc中添加插件(注意:自定義安裝的插件最好放在所有插件的最下方)
plugins=(
git
wd
colored-man-pages
yum
bundler
rand-quote
extract
themes
gitignore
zsh_reload
per-directory-history
zsh-syntax-highlighting
zsh-autosuggestions
)
# 4.保存退出之后,source ~/.zshrc即可生效
source ~/.zshrc
當然還有其他非常優秀的插件,有興趣的小伙伴可以去GitHub上找一下。
https://github.com/zsh-users (上面兩個自己安裝的插件都是這個大神開發的)
