天天看點

與登入相關的設定

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,讓其設定自己的環境.

*:以上是讀&lt;&lt;鳥哥私房菜&gt;&gt;後筆記.

本文轉自xcjgutong 51CTO部落格,原文連結:http://blog.51cto.com/xuchengji/318358

繼續閱讀