歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

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中的內容才會生效。

Copyright © Linux教程網 All Rights Reserved