Linux系統中三類重要文件的做用與區別

0BRLLSdACe0

  文章來源 | IT筆錄linux

Linux系統中,有三種文件類型出現的很是頻繁,那就是profile、bash_profile、bashrc文件。shell

由於名稱的緣故,不少人會把這三類文件的做用記混,所以咱們今天就來詳細盤點一下這三類文件的做用及區別。bash

1. profile文件微信

1.1 profile文件的做用運維

profile(/etc/profile),用於設置系統級的環境變量和啓動程序,在這個文件下配置會對全部用戶生效。ide

當用戶登陸(login)時,文件會被執行,並從/etc/profile.d目錄的配置文件中查找shell設置。函數

1.2 在profile中添加環境變量linux運維

通常不建議在/etc/profile文件中添加環境變量,由於在這個文件中添加的設置會對全部用戶起做用。spa

當必須添加時,咱們能夠按如下方式添加:orm

如,添加一個HOST值爲magedu.com的環境變量:

export HOST=magedu.com

添加時,能夠在行尾使用;號,也能夠不使用。

一個變量名能夠對應多個變量值,多個變量值須要使用:進行分隔。

添加環境變量後,須要從新登陸才能生效,也可使用source命令強制當即生效:

source /etc/profile

查看是否生效可使用echo命令:

$ echo $HOST

magedu.com

2. bashrc文件

bashrc文件用於配置函數或別名。bashrc文件有兩種級別:

系統級的位於/etc/bashrc、用戶級的位於~/.bashrc,二者分別會對全部用戶和當前用戶生效。

bashrc文件只會對指定的shell類型起做用,bashrc只會被bash shell調用。

3. bash_profile文件

bash_profile只對單一用戶有效,文件存儲位於~/.bash_profile,該文件是一個用戶級的設置,能夠理解爲某一個用戶的profile目錄下。

這個文件一樣也能夠用於配置環境變量和啓動程序,但只針對單個用戶有效。

和profile文件相似,bash_profile也會在用戶登陸(login)時生效,也能夠用於設置環境變理。

但與profile不一樣,bash_profile只會對當前用戶生效。

4. 差別總結

這三種文件類型的差別用一句話表述就是:

/etc/profile,/etc/bashrc 是系統全局環境變量設定;~/.profile,~/.bashrc用戶家目錄下的私有環境變量設定。

當登入系統時候得到一個shell進程時,其讀取環境設定檔以下:

0BRKwkKPI36


4.1 首先讀入全局環境變量設定檔/etc/profile,而後根據其內容讀取額外的設定的文檔,如/etc/profile.d和/etc/inputrc;

4.2 根據不一樣使用者賬號,於其家目錄內讀取~/.bash_profile;

讀取失敗則會讀取~/.bash_login;

再次失敗則讀取~/.profile(這三個文檔設定基本上無差異,僅讀取上有優先關係);

4.3 最後,根據用戶賬號讀取~/.bashrc。

至於~/.profile與~/.bashrc都具備個性化定製功能,但~/.profile能夠設定本用戶專有的路徑、環境變量等,它只能登入的時候執行一次。

~/.bashrc也是某用戶專有設定文檔,能夠設定路徑、命令別名,每次shell script的執行都會使用它一次。

文章來源:馬哥教育

官方微信:馬哥linux運維

技術交流羣:485374463

相關文章
相關標籤/搜索