Linux下的幾個設定檔以及啟動先後順序

來源:互聯網
上載者:User

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

  1. /etc/profile--- 為系統的每個使用者佈建環境資訊,對所有使用者的登入shell都有效(全域設定檔)。此檔案中設定的變數(全域)可以作用於任何使用者,而.bash_profile和.bashrc中設定的變數(局部)只能作用於當前登入使用者。/etc/profile和.bash_profile、.bashrc的關係類似於父子關係,具有繼承特性。
  2. .bash_profile--- 為目前使用者設定環境資訊,僅對目前使用者的登入shell有效(局部設定檔)。
  3. .bashrc--- .bash_profile只被登入shell讀取並僅僅執行一次,如果在命令列上鍵入bash啟動一個新的shell,這個新shell讀取的是.bashrc而不是.bash_profile,將登入shell和運行一個子shell所需的設定檔分開可以擷取非常靈活的配置策略,從而滿足不同的情境。
  4. .bash_history--- 操作bash的記錄
  5. .bash_logout--- 當每次退出shell時,該檔案被讀取並執行,主要做一些掃尾的工作,比如:刪除帳號內臨時檔案或記錄登入系統所化時間等資訊。
  6. /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(匿名命令)。

 

【注意】

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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.