天天看點

linux配置檔案的啟動順序

當我們登入Linux shell時,shell會執行一系列初始化動作,其中就包括讀取配置檔案,然後根據配置檔案來設定環境資訊。事實上,在登入shell時會讀取兩個配置檔案:/etc/profile和使用者目錄下的配置檔案(以.開頭的隐藏檔案.bash_profile),那他們之間的關系怎樣呢?使用者目錄下還有哪些配置檔案呢?今天我就給你一一道來。

/etc/profile --- 為系統的每個使用者設定環境資訊,對所有使用者的登入shell都有效(全局配置檔案)。此檔案中設定的變量(全局)可以作用于任何使用者,而.bash_profile和.bashrc中設定的變量(局部)隻能作用于目前登入使用者。/etc/profile和.bash_profile、.bashrc的關系類似于父子關系,具有繼承特性。

.bash_profile --- 為目前使用者設定環境資訊,僅對目前使用者的登入shell有效(局部配置檔案)。

.bashrc --- .bash_profile隻被登入shell讀取并僅僅執行一次,如果在指令行上鍵入bash啟動一個新的shell,這個新shell讀取的是.bashrc而不是.bash_profile,将登入shell和運作一個子shell所需的配置檔案分開可以擷取非常靈活的配置政策,進而滿足不同的場景。

.bash_history --- 操作bash的曆史記錄

.bash_logout --- 當每次退出shell時,該檔案被讀取并執行,主要做一些掃尾的工作,比如:删除帳号内臨時檔案或記錄登入系統所化時間等資訊。

/etc/bashrc --- 和.bashrc的含義一樣,隻不過适用于所有的使用者(全局)。

在登入Linux時,執行檔案的順序如下:

登入Linux ---> /etc/profile ---> /etc/profile.d/*.sh ---> $HOME/{.bash_profile | .bash_login | .profile}  ---> $HOME/.bashrc ---> /etc/bashrc

事實上,很多情況下某些配置檔案是一樣的,比如.bashrc和.bash_profile,這時隻需要在一個配置檔案中執行另外一個配置檔案就可以了,例如source .bashrc,或 ..bashrc(匿名指令)。

【注意】

經過編輯的.bash_profile檔案,直到退出再次登入,該檔案被重新讀取後,.bash_profile中的内容才會生效。

 本文轉自 sjfbjs 51CTO部落格,原文連結:http://blog.51cto.com/11886896/1829723

繼續閱讀