1. 程式人生 > >linux的/etc/profile、~/.profile、~/.bashrc、~./bash_profile這幾個配置文件

linux的/etc/profile、~/.profile、~/.bashrc、~./bash_profile這幾個配置文件

關系 調用 執行 啟動 name 使用 start strong 自己的

在添加環境變量的時候,我們會去修改配置文件

如果留意過,網上博文,有些在/etc/profile文件中配置的,有些是在~./bash_profile文件中配置的,等等

那麽,/etc/profile、~/.profile、~/.bashrc、~./bash_profile這幾個配置文件有什麽區別呢?

~/.profile ~/.bashrc和~./bash_profile

.bashrc

The individual per-interactive-shell startup file.

這個文件主要保存個人的一些個性化設置,如命令別名、路徑等。定義了路徑,語言,命令別名(使用rm刪除命令時總是加上-i參數需要用戶確認,使用ls命令列出文件列表時加上顏色顯示)。每次修改.bashrc後,使用source ~/.bashrc就可以立刻加載修改後的設置,使之生效。一般會在.bash_profile文件中顯式調用.bashrc。

登陸linux啟動bash時首先會去讀取/.bash_profile文件,裏面會調用/.bashrc,這樣/.bashrc也就得到執行了,你的個性化設置也就生效了

技術分享圖片

技術分享圖片

全局profile和用戶下的~/.profile

用戶可以在Profile文件中加入環境變量,比如JAVA_HOME...這樣重新登錄之後,這些環境變量都會得以設置,不用每次都手工設置。

Unix/Linux有兩個profile文件

1./etc/profile:是全局profile文件,設置後會影響到所有用戶

2./home/username/.profile或.bash_profile是針對特定用戶的,可以針對用戶,來配置自己的環境變量。

註意:profile是unix上才有的;bash_profile是Linux下有的(Linux下,用戶目錄沒有.profile文件)

/home/username/.profile或.bash_profile,都是隱藏文件,需要使用ls -a才能看到。

Bash登陸(login)的時候,Profile執行的順序

1)先執行全局Profile, /etc/profile

接著bash會檢查使用者的HOME目錄中,是否有 .bash_profile 或者 .bash_login或者 .profile,若有,則會執行其中一個,執行順序為:

.bash_profile 最優先 > .bash_login其次 > .profile 最後

總之,就是全局或者局部,他們之間有調用關系及調用優先級

參考:https://www.jianshu.com/p/b39fd35e2360

linux的/etc/profile、~/.profile、~/.bashrc、~./bash_profile這幾個配置文件