PS1的相關應用詳解

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

1.瞭解PS1

  PS1是Linux終端用戶的一個環境變量,用來定義命令行提示符的參數。

  在終端輸入命令:

echo $PS1

  可得到當前PS1的定義值:

PS1='[\u@\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='[\u@\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]\u@\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

  即可立即並永久生效了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章