1. 程式人生 > >PS1設定詳解

PS1設定詳解

轉載地址:https://www.cnblogs.com/Q--T/p/5394993.html

最近在學習linux作業系統(CentOS 6 & CentOS 7)。覺得linux終端命令列全部為白色,會經常導致命令與輸出內容難以分辨。於是上網找到修改linux終端命令列顏色的方法,發現通過定義PS1環境變數即可實現,下面我以root使用者身份進行操作。

1.瞭解PS1

  PS1是Linux終端使用者的一個環境變數,用來定義命令列提示符的引數。


  在終端輸入命令:

# echo $PS1

  可得到當前PS1的定義值:

PS1='[\[email protected]
\h \W]\$
'

  PS1的常用引數以及含義:

  \d :代表日期,格式為weekday month date,例如:"Mon Aug 1"

  \H :完整的主機名稱

  \h :僅取主機名中的第一個名字

  \t :顯示時間為24小時格式,如:HH:MM:SS

  \T :顯示時間為12小時格式

  \A :顯示時間為24小時格式:HH:MM

  \u :當前使用者的賬號名稱

  \v :BASH的版本資訊

  \w :完整的工作目錄名稱

  \W :利用basename取得工作目錄名稱,只顯示最後一個目錄名

  \# :下達的第幾個命令

  \$ :提示字元,如果是root使用者,提示符為 # ,普通使用者則為 $

  所以linux預設的命令列提示資訊的格式
   PS1='[\[email protected]\h \W]\$ '  的意思就是:[當前使用者的賬號名稱@主機名的第一個名字 工作目錄的最後一層目錄名]#

2.顏色設定引數

  在PS1中設定字元顏色的格式為:\[\e[F;Bm\]........\[\e[0m\],其中“F“為字型顏色,編號為30-37,“B”為背景顏色,編號為40-47,\[\e[0m\]作為顏色設定的結束。

  顏色對照表:

    F    B

    30  40 黑色

    31  41 紅色

    32  42 綠色

    33  43 黃色

    34  44 藍色

    35  45 紫紅色

    36  46 青藍色

    37  47 白色

   只需將對應數字套入設定格式中即可。
  比如要設定命令列的格式為綠字黑底(\[\e[32;40m\]),顯示當前使用者的賬號名稱(\u)、主機的第一個名字(\h)、完整的當前工作目錄名稱(\w)、24小時格式時間(\t),可以直接在命令列鍵入如下命令:

# PS1='[\[\e[32;40m\]\[email protected]\h \w \t]$ \[\e[0m\]'

  經過多次測試後,最終確定了一個適合我自己的格式:

# PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "

  但注意這樣的設定只是臨時性的.

3.修改.bashrc檔案,永久儲存命令列樣式.

  上面的設定的作用域只有當前終端的登陸有效,關閉終端或退出登入即刻失效。要想永久性的儲存設定,需要修改.bashrc配置檔案。

  鍵入命令:

1 # cd
2 # ls -la

  現在可以看到.bashrc這個檔案。

  編輯.bashrc:

# vim .bashrc

  加入這一行:

   PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ " 

  儲存退出。

  重新載入bash配置檔案:

# source .bashrc

  即可立即並永久生效了。

  效果如圖,再也不怕在茫茫字海中苦苦搜尋命令列的下落了.