要想修改終端的顏色,可以使用修改PS1環(huán)境變量的方式,也可以通過命令setterm來進(jìn)行設(shè)置。
一、PS1
1.PS1
要修改linux終端命令行顏色,我們需要用到PS1,PS1是Linux終端用戶的一個環(huán)境變量,用來說明命令行提示符的設(shè)置。在終端輸入命令:#set,即可在輸出中找到關(guān)于PS1的定義如下:
PS1='[\u@\h \W]$ '
PS1的定義中個常用的參數(shù)的含義如下:
\d :#代表日期,格式為weekday month date,例如:"Mon Aug 1"
\H :#完整的主機(jī)名稱
\h :#僅取主機(jī)的第一個名字
\t :#顯示時間為24小時格式,如:HH:MM:SS
\T :#顯示時間為12小時格式
\A :#顯示時間為24小時格式:HH:MM
\u :#當(dāng)前用戶的賬號名稱
\v :#BASH的版本信息
\w :#完整的工作目錄名稱
\W :#利用basename取得工作目錄名稱,所以只會列出最后一個目錄
# :#下達(dá)的第幾個命令
$ :#提示字符,如果是root時,提示符為:# ,普通用戶則為:$
由此,我們可知linux默認(rèn)的命令行提示信息為:[當(dāng)前用戶的賬號名稱@主機(jī)的第一個名字 工作目錄的最后一項]#
2.顏色的設(shè)置
在PS1中設(shè)置字符顏色的格式為:[\e[F;Bm],其中“F“為字體顏色,編號為30-37,“B”為背景顏色,編號為40-47。顏色表如下:
F B
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍(lán)色
35 45 紫紅色
36 46 青藍(lán)色
37 47 白色
根據(jù)顏色表,套用入字符顏色設(shè)置格式中,就可以對linux終端命令行顏色進(jìn)行個性化設(shè)置了。比如要設(shè)置命令行的格式為綠字黑底,顯示當(dāng)前用戶的賬號名稱、主機(jī)的第一個名字、完整的當(dāng)前工作目錄名稱、24小時格式時間,就可以使用如下的命令:
PS1='[[\e[32;40m]\u@\h \w \t]$ '
3.修改.bashrc文件(也可以通過修改\etc\profile文件來實現(xiàn))
通過上面的設(shè)置只能改變當(dāng)前終端的命令行格式,關(guān)閉這個終端,在重新打開的一個終端中命令行格式又會恢復(fù)到默認(rèn)的形式。想要永久性的改變終端命令行格式,需要修改.bashrc文件。
使用命令:#cd /
ls -l -a
就能看到.bashrc這個文件。使用命令
gedit .bashrc
在.bashrc文件中加入
PS1="[[\e[30;47m]\u@\h \W \t]$"
這條語句,然后保存,就可以永久性的改變終端命令行格式了。
修改完成后,一定要使用source 命令重新加載配置文件
2、通過setterm方式設(shè)置
可以通過setterm -foreground 設(shè)置前景色
setterm -background 設(shè)置背景色
但是每次都要設(shè)置比較麻煩。
為了使用方便,編寫了一個shell腳本將兩行命令放到termColor.sh文件中。
每次執(zhí)行sh termColor.sh命令就可以修改前景色和背景色。但是每次執(zhí)行了ls命令后,顏色又變成了沒有設(shè)置時的樣子。有些無奈了,還是用第一種方式吧。
另外,需要說明的是,每次都需要使用sh來執(zhí)行腳本。使用ls -l命令查看,這個termColor文件沒有可執(zhí)行的權(quán)限(可執(zhí)行的位置-),說明不是可執(zhí)行文件。使用chmod修改其為可執(zhí)行文件后,執(zhí)行運(yùn)行./termColor.sh就可以執(zhí)行了。