要想修改終端的顏色,可以使用修改PS1環(huán)境變量的方式,也可以通過命令setterm來進行設置。
一、PS1
1.PS1
要修改linux終端命令行顏色,我們需要用到PS1,PS1是Linux終端用戶的一個環(huán)境變量,用來說明命令行提示符的設置。在終端輸入命令:#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文件(也可以通過修改\etc\profile文件來實現)
通過上面的設置只能改變當前終端的命令行格式,關閉這個終端,在重新打開的一個終端中命令行格式又會恢復到默認的形式。想要永久性的改變終端命令行格式,需要修改.bashrc文件。
使用命令:#cd /
ls -l -a
就能看到.bashrc這個文件。使用命令
gedit .bashrc
在.bashrc文件中加入
PS1="[[\e[30;47m]\u@\h \W \t]$"
這條語句,然后保存,就可以永久性的改變終端命令行格式了。
修改完成后,一定要使用source 命令重新加載配置文件
2、通過setterm方式設置
可以通過setterm -foreground 設置前景色
setterm -background 設置背景色
但是每次都要設置比較麻煩。
為了使用方便,編寫了一個shell腳本將兩行命令放到termColor.sh文件中。
每次執(zhí)行sh termColor.sh命令就可以修改前景色和背景色。但是每次執(zhí)行了ls命令后,顏色又變成了沒有設置時的樣子。有些無奈了,還是用第一種方式吧。
另外,需要說明的是,每次都需要使用sh來執(zhí)行腳本。使用ls -l命令查看,這個termColor文件沒有可執(zhí)行的權限(可執(zhí)行的位置-),說明不是可執(zhí)行文件。使用chmod修改其為可執(zhí)行文件后,執(zhí)行運行./termColor.sh就可以執(zhí)行了。