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