天天看點

ubuntu 啟動加載的幾個檔案

使用virtual在ubuntu9.04中安裝了ubunter server 9.10,想好好學習一下server的配置;使用者根目錄下的啟動檔案有點搞不清楚,就在網上找到了下面的東西,解釋的挺清楚。如果還是硬着頭皮讀了一下這些檔案,建議如果也學這個,好好讀讀吧!

(1)/etc/profile

全局(公有)配置,不管是哪個使用者,登入時都會讀取該檔案。

(2)/ect/bashrc

Ubuntu沒有此檔案,與之對應的是/ect/bash.bashrc

它也是全局(公有)的

bash執行時,不管是何種方式,都會讀取此檔案。

(3)~/.profile

若bash是以login方式執行時,讀取~/.bash_profile,若它不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。

另外,圖形模式登入時,此檔案将被讀取,即使存在~/.bash_profile和~/.bash_login。

(4)~/.bash_login

(5)~/.bash_profile

Unbutu預設沒有此檔案,可建立。

隻有bash是以login形式執行時,才會讀取此檔案。通常該配置檔案還會配置成去讀取~/.bashrc。

(6)~/.bashrc

當bash是以non-login形式執行時,讀取此檔案。若是以login形式執行,則不會讀取此檔案。

(7)~/.bash_logout

登出時,且是longin形式,此檔案才會讀取。也就是說,在文本模式登出時,此檔案會被讀取,圖形模式登出時,此檔案不會被讀取。

下面是在本機的幾個例子:

1. 圖形模式登入時,順序讀取:/etc/profile和~/.profile

2. 圖形模式登入後,打開終端時,順序讀取:/etc/bash.bashrc和~/.bashrc

3. 文本模式登入時,順序讀取:/etc/bash.bashrc,/etc/profile和~/.bash_profile

4. 從其它使用者su到該使用者,則分兩種情況:

(1)如果帶-l參數(或-參數,–login參數),如:su -l username,則bash是lonin的,它将順序讀取以下配置檔案:/etc/bash.bashrc,/etc/profile和~/.bash_profile。

(2)如果沒有帶-l參數,則bash是non-login的,它将順序讀取:/etc/bash.bashrc和~/.bashrc

5. 登出時,或退出su登入的使用者,如果是longin方式,那麼bash會讀取:~/.bash_logout

6. 執行自定義的shell檔案時,若使用“bash -l a.sh”的方式,則bash會讀取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(這個不屬于bash shell),則不會讀取上面的任何檔案。

7. 上面的例子凡是讀取到~/.bash_profile的,若該檔案不存在,則讀取~/.bash_login,若前兩者不存在,讀取~/.profile。