系统和个人设置文件
bash的配置文件
?來自阿里巴巴集團的資深Linux系統專家趙鑫磊《Linux就是這個范兒》
?
?????? 輸入登錄用戶名和密碼后shell才啟動,這是login shell。還有一種non-login shell,不需要做重復的登錄操作獲取bash界面。例如在x-window環境下來啟動終端,測試終端界面不需要再次輸入賬戶與密碼,這個bash環 境就是non-login shell。login和non-login有什么區別呢?那得先從bash的配置文件說起。
1.?系統設置文件
只有login shell才會讀取系統設置文件/etc/profile。它是系統整體的配置文件,該配置文件里包含很多重要的變量信息,每個用戶登錄取得bash后一 定會讀取這個配置文件。如果你想要所設置的環境變量對所有用戶起作用,就要在這個地方設置。該文件主要有以下設置變量:
#PATH:會根據UID決定PATH變量要不要含有sbin的系統指令目錄;
?
#USER:根據用戶的賬號設置此變量內容;
?
#MAIL:根據賬戶設置/var/spool/mail/賬號名稱;
?
#依據主機的hostname指令設置此變量的內容;
?
#HISTSIZE:歷史命令記錄數。
?
除了完成以上設置,/etc/profile還會調用如下的外部設置文件:
/etc/inputrc:用來設置bash的熱鍵、[Tab]是否有聲音等信息。
/etc/profile.d/*.sh:這個目錄下的文件規定了bash的操作界面、語系以及一些公共的命令別名。
/etc/sysconfig/i18n:這個文件是供/etc/profile.d/lang.sh調用,決定bash默認使用何種語系。
2.?用戶的個性設置文件
login shell讀完了/etc/profile配置文件后,接下來就會讀取用戶的個人配置文件。個人配置文件主要有三個隱藏文件,依次是:~ /.bash_profile 、/.bash_login 和 ~/.profile。如果~/.bash_profile存在,那么bash就不會理睬其他兩個文件。如果~/.bash_profile不存 在,bash才會讀取~/.bash_login。而前兩個文件都不存在的話,bash才會讀取~/.profile文件。個人設置文件主要是獲取與用戶 有關的環境、別名和函數等。如果~/.bashrc存在的話,~/.bash_profile還會調用它,所以你可以把你的一些環境設置寫到~ /.bashrc這個文件中。在用戶目錄下,還有兩個個人文件~/.bash_history和~/.bash_logout。默認情況下,歷史命令就記 錄在bash_history中。每次登錄bash后,bash讀取這個文件,將所有的歷史命令讀入內存。?~/.bash_logout告訴系統在離開 “我”之前需要幫“我”做什么。默認情況下,文件只讓bash清掉屏幕的消息。你可以添加一些信息到在這個文件中,例如備份要求等。
3.?用戶的通用設置
系統層的函數、別名和環境等設置一般在/etc/profile。但是對于非交互的non-login shell,我們也希望通過~./bashrc做一些的設置。如果/etc/bashrc存在的話,它會被~./bashrc調用。它的主要工作有:
(1)依據不同的UID給出umask值
(2)依據不同的UID給出PS1變量
(3)調用/etc/profile.d/*.sh的設置
圖2.7和圖2.8分別展示了login shell和non login shell的整個配置文件處理流程:
?
個人需要的設置寫在“~./bashrc”文件中即可。由于/etc/profile與~/.bash_profile都是在取得login shell的時候才會讀取配置文件,所以修改這兩個文件中的設置后,需要再登錄相應的配置才能生效。其他的配置可以通過source命令將配置文件的內容 讀入當前shell環境中。
轉載于:https://blog.51cto.com/weimouren/1734451
總結
- 上一篇: linux上很方便的上传下载文件工具rz
- 下一篇: 整合框架过程记录日志