有顏色的shell:zsh 簡易安裝與使用心得
為何要使用 zsh?
先上結果
之前在看一些 it 邦幫忙的文章的時候,就有發現有不少人的 shell 色彩繽紛
而且重點是他們的 GIF 圖的範例裡面,有時候指令就莫名其妙的打完了 (不是使用 Tab)
於是呢,就想說也來練習看看,但他好像也不是什麼新東西了
單純做個筆記分享一下
2022/6/19 更新 Ubuntu Desktop 22.04 安裝
基本上跟下面的步驟差不多,不過 zsh 的部分就不用再抓原始碼編譯了,可以直接採用 apt install 來安裝
1 | # ubuntu desktop 22.04 最小化安裝 |
安裝程式碼紀錄
1 | # centos 7 2021.11 測試 |
可以看到有安裝了 zsh , ohmyzsh,powerlevel10k, zsh-autosuggestions , zsh-completions 等等,其實並不多,但我覺得用起來跟 bash 比起來還是方便很多
Oh My ZSH!
這個開源程式主要是用來管理 zsh 的一些 plugins , 等等要安裝的 plugins 都會丟到 ~/.oh-my-zsh 的目錄裡面
Oh My ZSH 似乎是導致 zsh 開始變紅的一個因素之一,有看過一篇文是說 Oh My ZSH 出來之後在 google 搜尋上 zsh 的搜尋頻率提升很多 (離題了)
並且可以到他的官方網站去挑選主題來用,主題多到用滾輪滑也要滑很久才滑的完
但我的主題是使用 powerlevel10k
powerlevel10k
主要讓畫面變得鮮豔的道具~
在第一次下載時,到 在 ~./zshrc 中加入 ZSH_THEME="powerlevel10k/powerlevel10k" 後進入 zsh
就會有一個互動介面,可以依循他的步驟挑選自己喜歡的模樣

結束後若想再重新設定一次 ,可輸入 p10k configure 再進入互動介面
若是想要更客製化,可以去編輯 ~/.p10k.zsh 這個檔案,裡面有非常多的東西可以修改
e.g. POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS 這個變數顧名思義就是要控制畫面右方顯示的東西,以我的畫面為例,我有新增了 ip 這個功能,就可以看到目前主要的 interface 的 IP ,省去我每次在多台電腦切來切去的時候都會忘記 IP 是多少
能客製化的東西非常多,也可以監控 CPU,memory 等系統資源,也可以自己定義圖示 (就不用顯示醜醜的 CPU 三個字),不過我就沒有多加研究,這個可以到網路上找別人的範本來改
you-should-use
下載完之後,到 ~/.zshrc 的 plugins 新增 you-should-use (用空白隔開,或是一行一行的也可以)
那這個套件呢,主要是搭配上 Linux 的 alias 功能,非常實用
因為在 ~/.zshrc 中的 plugins 有新增指令的話,他就會幫忙產生很多好用的 ailas,以我的檔案來說:
1 | plugins=(git you-should-use zsh-autosuggestions zsh-completions kubectl ) # 請注意 kubectl 這行 |

他自動幫我設定這些,就算很好用也根本記不住,但是 you should use 就會在我執行的時候告訴我應該要用有設定的 ailas ,被多提醒幾次之後要不記住也難啦~

所以上面的指令kubectl apply -f ~/test 就可以簡化成 kaf ~/test 輕鬆又自在
zsh-autosuggestions & zsh-completion
zsh-completion 這個就是跟 bash-completion 差不多的功能,只要拔掉 Tab 就會立刻喪失能力的我,跳到 zsh 來也是立刻就先把這個準備好了
簡單說一下,他可以跟 kubectl (當然指令大多數都可以) 互動,比如我打 kubectl get pods -n [Tab] 的時候,他就會顯示 -n 能輸入什麼參數 (也就是我目前環境內的 namespace),不裝他的話真的一堆指令都記不住了 XD
zsh-autosuggestions 也是很好用的一個 plugins , 他會依據你曾經輸入過的指令給你建議 (用比較淺的顏色) ,如果那是你要的就直接按 方向鍵的右鍵 ,他就會自動幫你補全
預設是只有去追蹤 history ,但我覺得 completion 的功能也很好用,所以就有補上去
可以到 .oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh 裡面的 ZSH_AUTOSUGGEST_STRATEGY=(history completion ) 做這樣的調整
總結
以現在一個月左右學習 kubernetes 用起來,zsh 還蠻舒服的,善用這些 plugins 的確可以減短打很多字的時間呢~
這篇文章比我想像中的還晚生出來 XD” ,接下來會繼續加把勁的~~
參考資料
有顏色的shell:zsh 簡易安裝與使用心得
https://raylin9981.github.io/2021/11/15/有顏色的shell:zsh-簡易安裝與使用心得/