你的 home 目錄下藏著很多隱藏檔案。如果你在執行 macOS 或者主流的 Linux 發行版的話,你就會在靠近隱藏檔案列表的上方看見一個名為 .bashrc 的檔案。那麼什麼是 .bashrc,編輯 .bashrc 又有什麼用呢?

finder-find-bashrc
如果你執行一個基於 Unix 或者類 Unix 的作業系統,bash 很有可能是作為預設終端被安裝的。雖然存在很多不同的 shell,bash 卻是最常見或許也是最主流的。如果你不明白那意味著什麼,bash 是一個能解釋你輸入進終端程式的東西,並且基於你的輸入來執行命令。它在一定程度上支援使用指令碼來定製功能,這時候就要用到 .bashrc 了。
為了載入你的配置,bash 在每次啟動時都會載入 .bashrc 檔案的內容。每個使用者的 home 目錄都有這個 shell 指令碼。它用來儲存並載入你的終端配置和環境變數。
終端配置可以包含很多不同的東西。最常見的,.bashrc 檔案包含使用者想要用的別名。別名允許使用者透過更短的名字或替代的名字來指向命令,對於經常在終端下工作的人來說這可是一個省時利器。

terminal-edit-bashrc-1
你可以在任何終端文字編輯器上編輯 .bashrc 。在接下來的例子中我們將使用 nano 。
要使用 nano 來編輯 .bashrc,在終端中呼叫以下命令:

nano ~/.bashrc

如果你之前從沒有編輯過 .bashrc 的話,你也許會發現它是空的。這沒關係!如果不是的話,你可以隨意在任一行新增你的配置。
你對 bashrc 所做的任何修改將在下一次啟動終端時生效。如果你想立刻生效的話,執行下面的命令:

source ~/.bashrc

你可以新增到任何 .bashrc 的位置,隨意使用命令(透過 #)來組織你的程式碼。
編輯 .bashrc 需要遵循 bash 指令碼格式。如果你不知道如何用 bash 編寫指令碼的話,有很多線上資料可供查閱。這是一本相當全面的介紹指南,包含一些我們沒能在這裡提及的 bashrc 的方面。
相關: 如何在 Linux 啟動時以 root 許可權執行 bash 指令碼
有一些有用的小技巧能使你的終端體驗將更高效,也更使用者友好。
為什麼我要編輯 bashrc ?
Bash 提示符
bash 提示符允許你自定義你的終端,並讓它在你執行命令時顯示提示。自定義的 bash 提示符著實能提高你在終端的工作效率。
看看這些即有用又有趣的 bash 提示符,你可以把它們新增到你的 .bashrc 裡。
別名

terminal-edit-bashrc-3
別名允許你使用簡寫的程式碼來執行你想要的某種格式的某個命令。讓我們用 ls 命令來舉個例子吧。 ls 命令預設顯示你目錄裡的內容。這挺有用的,不過顯示目錄的更多資訊,或者顯示目錄下的隱藏內容,往往更加有用。因此,有個常見的別名就是 ll,用來執行 ls -lha 或者其他類似的命令。這樣就能顯示檔案的大部分資訊,找出隱藏的檔案,並能以 “能被人類閱讀” 的單位顯示檔案大小,而不是用 “塊” 作為單位。
你需要按照下面這樣的格式書寫別名:

alias ll = “ls -lha”

左邊輸入你想設定的別名,右邊引號裡是要執行的命令。你可以用這種方法來建立命令的短版本,防止出現常見的拼寫錯誤,或者讓一個命令總是帶上你想要的引數來執行。你也可以用你喜歡的縮寫來規避討厭或容易忘記的語法。這是一些常見的別名的用法,你可以新增到你的 .bashrc 裡。
函式

terminal-edit-bashrc-2
除了縮短命令名,你也可以用 bash 函式組合多個命令到一個操作。這些命令可以很複雜,但是它們大多遵循這種語法:

function_name () {
command_1
command_2
}

下面的命令組合了 mkdir 和 cd 命令。輸入 md folder_name 可以在你的工作目錄建立一個名為 “folder_name” 的目錄並立刻導航進入。

md () {
mkdir -p $1
cd $1
}

如你所見,函式中的 $1 代表第一個引數,就是你在函式名後緊跟著輸入的文字。