最近因為工作需要,一直在使用linux操作系統(Cent5.0)。很討厭linux終端命令行一成不變的風格,而且不容易與輸出內容區分,很容易看花眼。於是上網找了找修改linux終端命令行顏色的方法,自己對那些方法進行了驗證,最終找到了有效的修改linux終端命令行顏色的方法。(以工作在root用戶下為例)
1.PS1
要修改linux終端命令行顏色,我們需要用到PS1,PS1是Linux終端用戶的一個環境變量,用來說明命令行提示符的設置。在終端輸入命令:#set,即可在輸出中找到關於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默認的命令行提示信息為:[當前用戶的賬號名稱@主機的第一個名字 工作目錄的最后一項]#
2.顏色的設置
在PS1中設置字符顏色的格式為:\[\e[F;Bm\],其中“F“為字體顏色,編號為30-37,“B”為背景顏色,編號為40-47。顏色表如下:
F B
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
根據顏色表,套用入字符顏色設置格式中,就可以對linux終端命令行顏色進行個性化設置了。比如要設置命令行的格式為綠字黑底,顯示當前用戶的賬號名稱、主機的第一個名字、完整的當前工作目錄名稱、24小時格式時間,就可以使用如下的命令:
#PS1='[\[\e[32;40m\]\u@\h \w \t]$ '
3.修改.bashrc文件
通過上面的設置只能改變當前終端的命令行格式,關閉這個終端,在重新打開的一個終端中命令行格式又會恢復到默認的形式。想要永久性的改變終端命令行格式,需要修改.bashrc文件。
使用命令:#cd /
#ls -l -a
就能看到.bashrc這個文件。使用命令
#gedit .bashrc
在.bashrc文件中加入
PS1='[\[\e[32;40m\]\u@\h \w \t]$ '
這條語句,然后保存,就可以永久性的改變終端命令行格式了。