當我們登入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/ ---> $home/.bashrc ---> /etc/bashrc
事實上,很多情況下某些配置檔案是一樣的,比如.bashrc和.bash_profile,這時只需要在乙個配置檔案中執行另外乙個配置檔案就可以了,例如source .bashrc,或 ..bashrc(匿名命令)。
【注意】
經過編輯的.bash_profile檔案,直到退出再次登入,該檔案被重新讀取後,.bash_profile中的內容才會生效。
MySQL讀取配置檔案的順序 啟動方式 啟動原理
一 mysql讀取配置檔案的順序 讀取順序 etc my.cnf etc mysql my.cnf usr etc my.cnf my.cnf 命令驗證 root mysql mysql verbose help grep my.cnf order of preference,my.cnf,mysq...
MySQL讀取配置檔案的順序 啟動方式 啟動原理
一 mysql讀取配置檔案的順序 讀取順序 etc my.cnf etc mysql my.cnf usr etc my.cnf my.cnf 命令驗證 root mysql mysql verbose help grep my.cnf order of preference,my.cnf,mysq...
linux使用者登入啟動配置檔案
1 etc profile 此檔案為系統的每個使用者設定環境資訊 當使用者第一次登入時 該檔案被執行 並從 etc profile.d 目錄的配置檔案中蒐集 shell 的設定。2 etc bashrc 為每乙個執行 bash shell 的使用者執行此檔案.當 bash shell 被開啟時 該檔...