認識基本的 Linux 指令後,該想想怎麼讓這些指令更方便輸入了。今天要介紹的 Fish shell,可以讓你的指令介面變得更好看、還有自動補完功能等等。

Linux 的指令介面其實是由 Shell 提供的。我們常常講 CLI(Command Line Interface),其實就是靠 Shell 去跟作業系統的核心溝通,而通常我們不會去討論 Shell 是什麼,因為絕大部分作業系統預設提供的都是 Bash,我們已經用到習慣了。

有些高級的工程師會裝 Z Shell(Zsh),告訴你 Zsh 多好用等等,但說真的哪種 Shell 就像哪種程式語言一樣,都是信仰。今天我要介紹 Fish shell,因為我覺得 Fish shell 有夠好用。

安裝 Fish shell

首先透過這個指令安裝 Fish。

sudo apt-add-repository ppa:fish-shell/release-3
sudo apt-get update
sudo apt-get install fish

apt-add-repository 是 Ubuntu 預設會裝的功能。還記得昨天說過 apt-get 會維護一份官方的軟體清單嗎?如果我們要裝的軟體不在官方軟體清單的話,就會需要透過這種指令來加進軟體清單。

Fish shell 功能

一開始新手最有感的就是彩色提示了。在 Bash(原本的指令介面),你打什麼都是黑底白字,打錯指令才會出現 command not found 的輸出。

但是在 Fish shell 中,錯誤的指令會以紅色顯示,正確的指令才會以藍色顯示。所以你在 Enter 前就知道指令對不對了。

另外,從上面這部影片也可以看到,不只打過的指令會(提示)自動補完、目前資料夾內的檔案也會自動補完,按下 按鈕或 按鈕也能搜尋歷史紀錄或自動補完目前的提示。

Oh-my-fish

要讓你的 Fish shell 更強大的話,通常會建議安裝 Oh-my-fish。確保你的 Linux 裡有 Fish 和 Git 之後,就可以照以下指令安裝:

curl -L https://get.oh-my.fish | fish

缺少 curlgit 套件嗎?去看 上一篇文章 就能想起怎麼安裝套件了!

安裝好 Oh-my-fish(omf)以後,第一件事情就是可以安裝主題。例如我常常用的 agnoster 主題,可以透過以下指令安裝:

omf install agnoster
omf theme agnoster

註:Windows 預設的命令視窗(Terminal)可能會無法顯示部分文字。你可能會需要美一點的 Terminal,例如 Hyper

可以到 官方文件 看看有哪些主題可以使用,許多 OMF 的主題都會有 Git 的提示,會在有 Git 初始化的資料夾顯示不同的顏色、目前的 branch 等功能。

OMF 還有很多套件,未來幾個篇章會再提到怎麼藉由 OMF 的套件讓工作更快速。

預設啟用 Fish shell

安裝完 Fish shell 後,預設啟用還是原本的 Bash,可以嘗試使用這個指令,來把預設的 shell 切換成 Fish:

chsh -s /usr/bin/fish noob  # noob 要換成你的使用者

今天的 Shell 介紹大概就到這裡了,可以搭配昨天的 操作 Linux 的基本技巧 去練習一些指令,看看在 Fish 上操作有什麼不同。另外,就算指令還不熟悉,Shell 長得很炫泡看起來就很工程師

本篇文章同步發表在 iT邦幫忙