1. 程式人生 > >Linux環境設置文件

Linux環境設置文件

path 問題 sysconf nbsp 文件的 bashrc etc 隱藏 重啟

一、前言

關於bash的環境設置文件,分為系統設置個人設置,一般來說建議用戶直接修改個人的設置。

本文測試環境為:centos6.5.

二、系統設置值

1. /etc/sysconfig/i18n

這個文件設置語系數據,一般只有幾行:

LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

用戶自己的語系設置建議不要在這裏修改。

2. /etc/profile

這個文件設置了幾個重要的變量,如PATH、USER、MAIL、HOSTNAME、HISTSIZE、umask等,可以在這裏設置總體的PATH等信息,同時也規劃了/etc/profile.d這個目錄。

題外話:關於/etc/profile.d的規劃,在腳本裏面有一句:“if [ "${-#*i}" != "$-"

]; then”,讓人丈二和尚摸不著頭腦,關於這個語句相關的問題,可以看另外一篇文章:”$-”與shell默認選項。

對這個文件必須小心對待,因為所有用戶都會用到,可以將HISTSIZE(歷史命令記錄條數)設置為50,比較安全。

3. /etc/bashrc

確定umaskPS1(命令提示符)的功能和內容。

4. /etc/profile.d/*.sh

/etc/profile.d是一個目錄,針對bash和C-shell規範了一些數據。譬如,針對顏色、語系,vim及which等命令進行了一些附加設置,如alias之類的規範值。可以自行設置一些具有*.sh文件名的文件來設定自己的系統設置值。

5. /etc/man.config

文件的內容確定了使用man的時候,去哪裏查看數據的路徑設置。一般是在使用tarball方式安裝軟件時,需要手動把該軟件的man page所在的路徑,手動添加到這個文件裏。

這就是系統設置常用的幾個文件,通常設置完這幾個文件需要重啟系統,或者使用source命令重新讀入。

三、個人設置值

個人設置文件一般放在個人家目錄的幾個隱藏文件中。

1. ~/.bash_profile,~/.bash_login,~/profile

這三個文件一般只要一個就可以了,默認是~/.bash_profile,這個文件可以定義個性化的路徑PATH與環境變量等等,這三個文件的讀取順序是:先讀取~/.bash_profile,找不到就讀~/.bash_login,然後才是~/profile。

2. ~/bashrc

同樣也是定義個性化設置,區別是,在每次執行shell腳本的時候,都會重新讀取這個文件,所以是最完整的,而~/.bash_profile只在登錄的時候才讀取一次。

3. ~/.bash_history

記錄歷史命令的文件,記錄的條數與HISTSIZE的設置有關。每次登錄bash之後,bash會先讀取這個文件,把所有的歷史命令讀入內存。

4. ~/.bash_logout

這個文件記錄,“當我註銷bash後,系統再幫我做完什麽操作後才離開”,可以將一些備份或者認為重要的工作(如清空暫存盤)寫到這個文件中。

四、設置文件的讀取順序

1. 先讀取/etc/profile,在根據/etc/profile的規劃,讀取其他的附加設置文件,如/etc/profile.d目錄下是文件

2. 根據不同的用戶,到家目錄去讀取~/.bash_profile,~/.bash_login,~/profile之一

3. 根據不同的用戶,到家目錄去讀取~/.bashrc

可以看到,登錄bash之後,最終讀取的設置文件是~/.bashrc,也就是說這個文件裏的設置值會是最終的設置值。

五、登錄shell與非登錄shell

1. 登錄shell

當用戶登錄Linux系統時,所取得的那個shell。

2. 非登錄shell

登錄後,再去執行其他shell,其他shell就是非登錄shell,如登錄Linux之後,想執行一些數值模擬工作,執行了csh這個shell,這時就取得了非登錄shell了。

3. 登錄shell和非登錄shell的差異

讀取的環境設置文件不同。登錄shell會讀取~/.bash_profile,~/.bash_login,~/profile之一,而非登錄shell讀取的就僅有~/.bashrc,不過現在很多版本的Linux都會將~/.bash_profile的內容指向~/.bashrc中,這樣比較簡單。

六、小結

一般管理系統的時候,都需要跟各種環境變量打交道,這個時候就必須要修改設置文件才能讓自己的個性化設置起作用,一般不建議修改系統的設置文件,最好還是修改自己的設置文件,而由於在讀取設置文件中,~/.bashrc是最後一個讀取的文件,所以一般建議在這個文件添加自己的個性化設置。

七、參考

《鳥哥的Linux私房菜_基礎學習篇》(第二版)

(完)

Linux環境設置文件