三類重要Linux文件的用途與區別

1. profile文件html

1.1 profile文件的做用linux

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

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

1.2 在profile中添加環境變量函數

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

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

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

export HOST=magedu.comip

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

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

添加環境變量後,須要從新登陸才能生效,也可使用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進程時,其讀取環境設定檔以下:

三類重要Linux文件的用途與區別三類重要Linux文件的用途與區別

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的執行都會使用它一次。

本文轉自:http://www.linuxprobe.com/linux-3-files.html

免費提供最新linux技術教程書籍,爲開源技術愛好者努力作得更多更好,開源站點:http://linuxprobe.com/

相關文章
相關標籤/搜索