為啥人家的命令列終端如此炫酷?原來用了這款137K+Star的神器!

macrozheng發表於2021-12-15
最近在研究終端工具的時候,發現人家的終端可以輸出各種彩色文字,還有各種提示,自己就算用了炫酷的Tabby也無法實現。後來發現需要在Linux上安裝OhMyZsh才行,今天給大家介紹下這款功能強大,外掛豐富的工具!

SpringBoot實戰電商專案mall(50k+star)地址:https://github.com/macrozheng/mall

OhMyZsh簡介

OhMyZsh是一款開源工具,可以用於管理Zsh(Linux命令直譯器的一種)的配置。使用OhMyZsh可以讓你看起來像有10年工作經驗的程式設計師,OhMyZsh有幾百種外掛可以供你使用,還有各種炫酷的主題。OhMyZsh非常流行,在Github上已經有137K+Star!

Zsh簡介

上面提到了Zsh,它是Linux命令直譯器的一種,CentOS預設的命令直譯器是Bash,常用的還有sh、csh和tcsh。對比預設的Bash,Zsh的功能更強大,擁有大量外掛,可以實現更強大的命令補全,命令高亮等功能。

安裝

OhMyZsh其實是Zsh的一種管理工具,在安裝OhMyZsh之前我們得先安裝Zsh。

安裝Zsh

  • 安裝Zsh的方法很多,使用yum來安裝很方便,不過OhMyZsh官方建議安裝5.0.8以上版本,我們先來看下yum中的zsh版本號;
yum info zsh

  • 如果你的版本號大於5.0.8可以使用yum來安裝,使用如下命令即可,如果小於可以使用原始碼來安裝;
yum -y install zsh

  • 先把下載好的原始碼包放到指定目錄,然後使用如下命令進行解壓安裝;
# 安裝依賴
yum -y install gcc perl-ExtUtils-MakeMaker
yum -y install ncurses-devel
# 解壓
tar xvf zsh-5.8.tar.xz
cd zsh-5.8
# 檢查安裝環境依賴是否完善
./configure
# 編譯並安裝
make && make install
  • 安裝完成後可以使用如下命令檢視Zsh的路徑;
whereis zsh

  • 再把Zsh的路徑新增到/etc/shells檔案中去,在這裡我們可以看到系統支援的所有命令直譯器;
vim /etc/shells 
# 新增內容如下
/usr/local/bin/zsh

  • 最後檢視下Zsh版本號,用於檢測Zsh是否安裝成功了。
zsh --version

安裝OhMyZsh

  • 接下來我們來安裝OhMyZsh,直接使用如下命令安裝;
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  • 如果遇到下載不下來的情況,可以先建立一個install.sh檔案,然後從Github上覆制該檔案內容,再使用如下命令安裝:
# install.sh 地址:https://github.com/ohmyzsh/ohmyzsh/blob/master/tools/install.sh
./install.sh
  • 安裝完成後會提示你修改Linux使用的預設shell,使用如下命令可檢視修改預設shell;
# 檢視當前在使用的shell
echo $SHELL
# 也可以使用下面命令自行修改預設shell
chsh -s $(which zsh)

  • 安裝成功後配置檔案為.zshrc,安裝目錄為.oh-my-zsh,安裝目錄結構如下。

使用

OhMyZsh的功能強大之處在於它的外掛很豐富,介面炫酷在於它的主題也很豐富,下面我們分別來介紹下。

主題修改

  • OhMyZsh的主題非常豐富,自帶主題都在themes資料夾中;

  • 修改主題只需修改配置檔案.zshrcZSH_THEME屬性即可,下面我們把主題改為af-magic
vim ~/.zshrc
# 修改如下內容
ZSH_THEME="af-magic"
# 重新整理配置,每次修改後都需要
source ~/.zshrc
  • 修改成功後主題效果如下。

使用外掛

OhMyZsh光自帶外掛就有300多個,還有很多第三方外掛,可見外掛生態非常豐富,下面我們來介紹幾個好用的外掛。

OhMyZsh的自帶外掛都在plugins目錄下,統計了下,多達305個。

zsh-syntax-highlighting

平時我們輸入Linux命令的時候,只有在執行的時候才知道輸錯命令了,這款外掛可以實時檢測命令是否出錯。
  • 下載外掛到指定目錄,使用如下命令即可;
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
  • 然後修改配置檔案.zshrc,在plugins中新增外掛zsh-syntax-highlighting
plugins=(
        git
        zsh-syntax-highlighting
)
  • 接下來再輸入命令時就有高亮提示了,正確命令會顯示綠色。

zsh-autosuggestions

自動補全外掛,輸入命令後會自動提示相關命令,使用方向鍵可以實現自動補全。
  • 下載外掛到指定目錄,使用如下命令即可;
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  • 然後修改配置檔案.zshrc,在plugins中新增外掛zsh-autosuggestions
  • 此時我們輸入命令字首就會直接提示命令,然後按方向鍵就可以實現自動補全了。

zsh-history-substring-search:

可以搜尋命令歷史的外掛,使用Ctrl+R快捷鍵觸發,模糊搜尋歷時使用的命令。
  • 下載外掛到指定目錄,使用如下命令即可;
git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search
  • 然後修改配置檔案.zshrc,在plugins中新增外掛zsh-history-substring-search
  • 接下來我們就可以通過Ctrl+R快捷鍵觸發,然後進行命令搜尋補全了。

docker

自帶外掛,可以實現docker命令補全和自動提示。
  • 作為自帶外掛無需下載,直接修改配置檔案.zshrc,在plugins中新增外掛docker
  • 當我們輸入docker開頭的命令時,使用Tab鍵可以出現提示並自動補全。

git

自帶外掛,新增了很多git的快捷命令。
  • 直接修改配置檔案.zshrc,在plugins中新增外掛git
  • 該外掛對於Git命令提供了非常多的快捷使用方式,比如下面的常用命令;
快捷別名命令
ggit
gclgit clone
gagit add
gcgit commit
ggpgit push
gglgit pull
gstgit status
gbgit branch
glggit log --stat
  • 使用快捷命令還是非常方便的!

z

自帶外掛,可以快速跳轉到上個cd的目錄下。
  • 直接修改配置檔案.zshrc,在plugins中新增外掛z,最終配置效果如下;
plugins=(
        git
        zsh-syntax-highlighting
        zsh-autosuggestions
        zsh-history-substring-search
        docker
        z
)
  • 我們先切換到.oh-my-zsh/custom/plugins目錄下,然後再切換到其他目錄下,之後直接使用z plug命令就可以切換回去了。

btop

我們的命令列終端已經這麼炫酷了,再使用top命令來看伺服器的執行狀態就有點掉檔次了,下面來介紹個更好用的工具btop

簡介

btop是一款伺服器資源監控工具,可以用來檢視伺服器的CPU、記憶體、磁碟、網路和程式狀態。

安裝

  • 下載完成後,解壓到指定目錄,並使用install.sh安裝即可;
# 建立安裝目錄
mkdir btop
# 解壓到安裝目錄
tar -xvf btop-1.1.2-x86_64-linux-musl.tbz -C btop
cd btop
# 安裝
./install.sh

使用

  • btop使用起來非常簡單,直接使用btop命令即可執行;
btop --utf-force
  • 執行成功後,介面還是非常炫酷的,伺服器資源資訊一目瞭然,再也不想用top命令了;

  • btop還支援滑鼠互動,把單純的命令列玩成了圖形化介面的感覺,選擇一個程式可以檢視詳細資訊;

  • ESC鍵可以退出、修改設定或檢視幫助;

  • 如果你想解除安裝的話,可以在安裝目錄使用如下命令。
make uninstall

總結

OhMyZsh確實是款非常不錯的工具,它極大地提高了我們的工作效率,讓我們看起來更像資深程式設計師。btop也讓我們的命令列終端更炫酷,用過之後再也不想用top命令使用了。如果你想讓你的命令列終端更炫酷,不妨試試它們!

參考資料

本文 GitHub https://github.com/macrozheng/mall-learning 已經收錄,歡迎大家Star!

相關文章