什么是.bashrc,為什么要編輯.bashrc?
你的 home 目錄下藏著很多隱藏文件。如果你在運行 macOS 或者主流的 Linux 發(fā)行版的話,你就會在靠近隱藏文件列表的上方看見一個名為 .bashrc
的文件。那么什么是 .bashrc
,編輯 .bashrc
又有什么用呢?
finder-find-bashrc
如果你運行一個基于 Unix 或者類 Unix 的操作系統(tǒng),bash 很有可能是作為默認終端被安裝的。雖然存在很多不同的 shell,bash 卻是最常見或許也是最主流的。如果你不明白那意味著什么,bash 是一個能解釋你輸入進終端程序的東西,并且基于你的輸入來運行命令。它在一定程度上支持使用腳本來定制功能,這時候就要用到 .bashrc
了。
為了加載你的配置,bash 在每次啟動時都會加載 .bashrc
文件的內(nèi)容。每個用戶的 home 目錄都有這個 shell 腳本。它用來存儲并加載你的終端配置和環(huán)境變量。
終端配置可以包含很多不同的東西。最常見的,.bashrc
文件包含用戶想要用的別名。別名允許用戶通過更短的名字或替代的名字來指向命令,對于經(jīng)常在終端下工作的人來說這可是一個省時利器。
terminal-edit-bashrc-1
你可以在任何終端文本編輯器上編輯 .bashrc
。在接下來的例子中我們將使用 nano
。
要使用 nano
來編輯 .bashrc
,在終端中調用以下命令:
nano ~/.bashrc
如果你之前從沒有編輯過 .bashrc
的話,你也許會發(fā)現(xiàn)它是空的。這沒關系!如果不是的話,你可以隨意在任一行添加你的配置。
你對 bashrc 所做的任何修改將在下一次啟動終端時生效。如果你想立刻生效的話,運行下面的命令:
source ~/.bashrc
你可以添加到任何 .bashrc
的位置,隨意使用命令(通過 #
)來組織你的代碼。
編輯 .bashrc
需要遵循 bash 腳本格式。如果你不知道如何用 bash 編寫腳本的話,有很多在線資料可供查閱。這是一本相當全面的介紹指南,包含一些我們沒能在這里提及的 bashrc 的方面。
相關: 如何在 Linux 啟動時以 root 權限運行 bash 腳本
有一些有用的小技巧能使你的終端體驗將更高效,也更用戶友好。
為什么我要編輯 bashrc ?
Bash 提示符
bash 提示符允許你自定義你的終端,并讓它在你運行命令時顯示提示。自定義的 bash 提示符著實能提高你在終端的工作效率。
看看這些即有用又有趣的 bash 提示符,你可以把它們添加到你的 .bashrc
里。
別名
terminal-edit-bashrc-3
別名允許你使用簡寫的代碼來執(zhí)行你想要的某種格式的某個命令。讓我們用 ls
命令來舉個例子吧。ls
命令默認顯示你目錄里的內(nèi)容。這挺有用的,不過顯示目錄的更多信息,或者顯示目錄下的隱藏內(nèi)容,往往更加有用。因此,有個常見的別名就是 ll
,用來運行 ls -lha
或者其他類似的命令。這樣就能顯示文件的大部分信息,找出隱藏的文件,并能以“能被人類閱讀”的單位顯示文件大小,而不是用“塊”作為單位。
你需要按照下面這樣的格式書寫別名:
alias ll = "ls -lha"
左邊輸入你想設置的別名,右邊引號里是要執(zhí)行的命令。你可以用這種方法來創(chuàng)建命令的短版本,防止出現(xiàn)常見的拼寫錯誤,或者讓一個命令總是帶上你想要的參數(shù)來運行。你也可以用你喜歡的縮寫來規(guī)避討厭或容易忘記的語法。這是一些常見的別名的用法,你可以添加到你的 .bashrc
里。
函數(shù)
terminal-edit-bashrc-2
除了縮短命令名,你也可以用 bash 函數(shù)組合多個命令到一個操作。這些命令可以很復雜,但是它們大多遵循這種語法:
function_name () {
command_1
command_2
}
下面的命令組合了 mkdir
和 cd
命令。輸入 md folder_name
可以在你的工作目錄創(chuàng)建一個名為“folder_name”的目錄并立刻導航進入。
md () {
mkdir -p $1
cd $1
}
如你所見,函數(shù)中的 $1
代表***個參數(shù),就是你在函數(shù)名后緊跟著輸入的文本。
總結
不像某些自定義終端的方法,變動 bashrc 是非常直接且低風險的。即使你一不小心全搞砸了,你也可以隨時刪掉 bashrc 文件然后重新來一遍。試試看吧,你會驚嘆于你提高的生產(chǎn)力的。