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


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

如果留意過,網上博文,有些在/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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM