1,PS1:(提示符的設定)
bash中PS1變量内的特殊符号所代表的含義
\d 代表日期,格式為 "星期 月 日"
\H 完整的主機名,例如:linux.china.cn
\h 僅取主機名的第一個名字,例如:linux,china.cn被省略
\t 顯示時間,24小時格式,HH:MM:SS
\T 顯示時間,12小時格式
\A 顯示時間,24小時格式,HH:MM
\u 目前使用者的賬号名
\v bash的版本資訊
\w(小寫) 完整的工作目錄名,家目錄為~
\W(大寫) 利用basename取得工作目錄名,是以僅列出最後一個目錄名
\# 執行的第幾個指令
\$ 提示符,如果是root時,提示符為#,否則為$
<a href="http://xuchengji.blog.51cto.com/attachment/201005/19/160472_1274284350lsKM.png"></a>
目前使用者為root,主機名為rhel5,目前的工作目錄為家目錄~,目前時間為23:15,執行是第12指令,提示符為#
這個提示符的設定在/etc/bashrc中設定.根據各人喜好也可以在~/.bashrc檔案中做設定(這個檔案一般做個性化設定,比如别名).
2,登入消息顯示資料:/etc/issue,/etc/motd (1)與/etc/issue相關代碼意義
\d 本地端的時間的日期
\l(小寫) 顯示第幾個終端的接口
\m 顯示硬體的等級
\n 顯示主機的網絡名
\o 顯示域名
\r 作業系統的版本,相當于uname –r
\t 本地端的時間
\s(小寫) 作業系統的名稱
\v 作業系統的版本
/etc/issue.net 當telnet到主機時使用的是這個檔案,而不是/etc/issue.
(2)/etc/motd
使用者登入時擷取的消息就是在這個檔案中設定的.
<a href="http://xuchengji.blog.51cto.com/attachment/201005/19/160472_1274284351Sqos.png"></a>
3,環境設定檔案
(1)系統設定檔案
/etc/profile
這個檔案設定了幾個重要的變量,例如:PATH、USER、MAIL、 HOSTNAME、HISTSIZE、umask』等等,也同時規劃出 /etc/inputrc 這個針對鍵盤熱建設定的檔案的資料内容。你可以在這裡設定總體的 PATH 等等的資訊! 同時,這個檔案也規劃出 /etc/profile.d 及 /etc/inputrc 這兩個目錄與檔案!設定上需要特别小心,因為所有的使用者皆會使用到這個檔案的資訊
以下是一個ubuntu8.04 server 下的profile檔案内容。
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
umask 022
*:從以上的内容中可以看到,定義了PS1,umask; . /etc/bash.bashrc 中的那個“點”可以将設定檔的内容讀進來目前的 shell 環境中或利用 source /etc/bash.bashrc
/etc/bashrc
這個檔案在規劃 umask 的功能,也同時規劃出提示字元的内容 (就是裡頭那個 PS1 啦!) 。特别留意的是,這個檔案在不同的 Linux distribution 裡面,擺放的位置可能不太一樣呢! 是以需要查詢一下才行
*:我在ubuntu 8.04 中就沒找到這個檔案,但是有bash.bashrc
/etc/profile.d/*.sh
/etc/profile.d 是一個目錄,裡面針對 bash 及 C-shell 規範了一些資料。 這個目錄裡面就針對了顔色、語系、vim 及 which 等指令進行一些額外的設定, 例如 alias 之類的規範值。我們的 vim 被用 alias 命名為 vi 就是在這個目錄下被設定好的。 當然啦,這個目錄的由來其實是在 /etc/profile 這個檔案内規範的啦! 你可以自行設定一些 *.sh 的檔案名的檔案來書寫自己的系統設定
(2)個人設定
~/.bash_profile, ~/.bash_login, ~/.profile
這三個檔案通常隻要一個就夠了,一般預設是以 ~/.bash_profile 的檔案名存在。 會有這麼多的檔案,其實是因應其它 shell 轉換過來的使用者的習慣而已。 這個檔案可以定義個人化的路徑 (PATH) 與環境變量等等。不過,還是有順位上的差異, bash 啟動時,會先去讀取 ~/.bash_profile,找不到時,就去讀取 ~/.bash_login ,然後才是 ~/.profile。
*:在ubuntu 8.04中就是隻有~/.profile
~/.bashrc
個人化設定值都會寫在這裡例如指令别名、路徑等等。 這個檔案在您每次執行 shell script 的時候都會被重新使用一遍,是以是最完整的。 而上頭的 ~/.bash_profile 則隻有在登入的時候會被讀取一次。
*:在ubuntu 8.04中也有這個檔案
/.bash_history
曆史指令就記錄在這裡
~/.bash_logout
當我登出 bash 後,系統再幫我做完什麼動作後才離開
*:我在ubuntu 8.04 中就沒找到這個檔案
4,環境設定檔案的執行順序
(1)登入shell,先後為:
~/.bash_profile
~/.bashrc
/etc/.bashrc
(2)非登入shell,先後為:
總結:根據以上内容,就可以設定自已的環境了,修改/etc/profile,或是修改~/.bashrc,也可以自已寫shell,讓其設定自己的環境.
*:以上是讀<<鳥哥私房菜>>後筆記.
本文轉自xcjgutong 51CTO部落格,原文連結:http://blog.51cto.com/xuchengji/318358