在linux中,我們?cè)诰庉嫊r(shí)需要對(duì)文檔編輯或者一些信息的顯示加上顏色,增強(qiáng)閱讀的效果
目前創(chuàng)新互聯(lián)建站已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、余慶網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
格式: echo -e "\033[字體顏色;字背景顏色m字符串\033[0m"
要顯示什么顏色,優(yōu)先是先判斷位置,按語(yǔ)法上來(lái)說(shuō),應(yīng)該是先字體色,然后是背景色,但是字體色的地方數(shù)值為43,所以判斷為背景的顏色,而在后面的31本應(yīng)該是背景色,結(jié)果數(shù)值31位字體的顏色,所以顯示的效果是字體的顏色為紅色,而不是背景紅色,假設(shè)這個(gè)31是數(shù)值41,則表示背景的為紅色,整體的效果就是紅色背景,字體處沒(méi)有顏色,為默認(rèn)的白色,且效果是閃爍。
其中設(shè)置顏色的格式為:\033[ ; m …… \033[0m,其中ascii code是對(duì)顏色調(diào)用的始末.也可以表示為\e[F;Bm…….\e[0m
字背景顏色范圍: 40--49? ? ? ? ? ? ? ? ? 字顏色: 30--39
例如顯示紅色,其中紅色^[[31mred^[[0m其中^[是在插入編輯模式下按鍵進(jìn)去額ctr+v+[這三個(gè)按鍵輸入的。
假設(shè)寫(xiě)在文檔tt1寫(xiě)入對(duì)應(yīng)的語(yǔ)句來(lái)查看,通過(guò)cat ?tt1驗(yàn)證效果
^[[31mred^[[0m :表示對(duì)應(yīng)的字是紅色字體,沒(méi)有底色,如下截圖
^[[31mred^[[44m:表示紅色字體,底色為紫紅色。假設(shè)寫(xiě)在文檔tt1,后面cat tt1.這個(gè)屏幕底色都是藍(lán)色,字都是紅色如下截圖
^[[31;44mred^[[0m:表示紅色字體,字和屏幕的底色為藍(lán)色,背景沒(méi)有底色,和^[[31mred^[[44m效果一樣。如下截圖
^[[31;44mred^[[44m:表示紅色字體,底色都是藍(lán)色
在命令行里輸入命令:echo -e '\e[43;31;4mmagedu\e[0m',得到如下的效果
PS1是Linux終端用戶的一個(gè)環(huán)境變量,用來(lái)說(shuō)明命令行提示符的設(shè)置。在終端輸入命令:echo $PS1,就會(huì)輸出PS1的定義:
默認(rèn)的PS1變量值為 : PS1="[\u@\h \W]$"
PS1的定義中個(gè)常用的參數(shù)的含義如下:
給PS1賦值如下:
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
這里需要注意,顏色的結(jié)束調(diào)用符號(hào),要放在最后面,否則當(dāng)使用命令history查看歷史命令時(shí),會(huì)出現(xiàn)各種異常的顯示
正確的結(jié)果得到的結(jié)果如下圖
當(dāng)把結(jié)束符調(diào)整到$前面,如PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\[\e[0m\\$",使用history查找的時(shí)候出現(xiàn)了如下的異常顯示
注意,這里賦值的時(shí)候要用單引號(hào)才能得到要的效果,只是單純改變顏色,其他值不改變,如果賦值用雙引號(hào),如下
錯(cuò)誤寫(xiě)法:PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\$"
得到的效果如下:
如果是root時(shí),提示符為:# ,普通用戶則為:$,但是雙引號(hào)后root的提示符為$,是不對(duì)的
解決辦法:如果用雙引號(hào),需要再\$前再加一個(gè)\,語(yǔ)句如下
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\] \W]\\$\[\e[0m"
賦值為PS1='\[\e[43m\][\[\e[31m\]\u@\[\e[34m\]\h \W]\$\e[0m'
效果如下截圖
這個(gè)例子,我們可以明顯看出,\e[顏色值m這個(gè)是說(shuō)明接下來(lái)的顏色從這里開(kāi)始是什么顏色,\e[0m說(shuō)明的是顏色的結(jié)束位置,
這里需要注意的是,如果沒(méi)有通過(guò)\[ ? \]對(duì)每一個(gè)顏色進(jìn)行界定,使用過(guò)程,如上翻歷史頁(yè),就會(huì)出現(xiàn)顯示異常。
將設(shè)置好的PS1變量寫(xiě)到家目錄下的.bashrc 里面,這樣后面開(kāi)啟的終端都有效。
$ vim .bashrc
打開(kāi)后添加一行
PS1="[\[\e[31;40m\]\u\[\e[37;40m\]@\[\e[34;40m\]\h\[\e[37;40m\]\W]\[\e[0m\\$"
保存退出再次登錄時(shí)顯示的顏色也會(huì)是我們?cè)O(shè)定的值了。
在linux命令行顯示綠色是可執(zhí)行文件,操作方法如下:
1、首先在電腦開(kāi)始菜單中打開(kāi)“運(yùn)行”,在運(yùn)行欄中輸入“cmd”。
2、命令提示符打開(kāi)了,默認(rèn)地址是C盤(pán)。
3、在命令行中輸入想進(jìn)入的盤(pán)符,比如E盤(pán),就輸入E:這樣,盤(pán)符就切換至E盤(pán)的根目錄了。
4、如果要看E盤(pán)里面具體有哪些子目錄,接下來(lái)輸入“dir”。
5、如果想想換掉命令行中的字體顏色,輸入color 2。這里切換的是綠色,可以輸入color 3、color 4之類的顏色。
6、如果想返回原始顏色,直接輸入color即可。
PS1
PS1是Linux終端用戶的一個(gè)環(huán)境變量,用來(lái)說(shuō)明命令行提示符的設(shè)置。在終端輸入命令:echo $PS1,就會(huì)輸出PS1的定義:
PS1=’[\u@\h \W]$ ‘
linux默認(rèn)的命令行提示信息為:[當(dāng)前用戶的賬號(hào)名稱@主機(jī)的第一個(gè)名字 工作目錄的最后一項(xiàng)]$
PS1的定義中個(gè)常用的參數(shù)的含義如下:
\d :#代表日期,格式為weekday month date,例如:”Mon Aug 1”
\H :#完整的主機(jī)名稱
\h :#僅取主機(jī)的第一個(gè)名字
\t :#顯示時(shí)間為24小時(shí)格式,如:HH:MM:SS
\T :#顯示時(shí)間為12小時(shí)格式
\A :#顯示時(shí)間為24小時(shí)格式:HH:MM
\u :#當(dāng)前用戶的賬號(hào)名稱
\v :#BASH的版本信息
\w :#完整的工作目錄名稱
\W :#利用basename取得工作目錄名稱,所以只會(huì)列出最后一個(gè)目錄
\# :#下達(dá)的第幾個(gè)命令
\ $ :#提示字符,如果是root時(shí),提示符為:# ,普通用戶則為:$
顏色語(yǔ)法
其中設(shè)置顏色的格式為:以\[\e[F;Bm],以\e[m結(jié)束
F
B
顏色
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍(lán)色
35 45 紫紅色
36 46 青藍(lán)色
37 47 白色
例如我們要把\u改變顏色
PS1=”[\[\e[31;40m]\u\e[m @\h \W]\$ “
這樣我們就將\u的顏色設(shè)置成了前景色為紅色,背景色為黑色。
在linux命令行里輸出帶顏色的字符,需要使用ascii碼里的字符屬性設(shè)置描述符。
\033[0m 關(guān)閉所有屬性
\033[1m 設(shè)置高亮度
\033[30m 至 \33[37m 設(shè)置前景色
\033[40m 至 \33[47m 設(shè)置背景色
其中顏色代碼是:
背景顏色范圍:40----49
40:黑
41:深紅
42:綠
43:黃色
44:藍(lán)色
45:紫色
46:深綠
47:白色
字(前景)顏色:30-----------39
30:黑
31:紅
32:綠
33:黃
34:藍(lán)色
35:紫色
36:深綠
37:白色
例如你要輸出紅色的“hello world”:
\033[31mheool world \033[0m
ls的輸出顏色不止3種,有以下幾種,
白色:表示普通文件
藍(lán)色:表示目錄
綠色:表示可執(zhí)行文件
紅色:表示壓縮文件
淺藍(lán)色:鏈接文件
紅色閃爍:表示鏈接的文件有問(wèn)題
黃色:表示設(shè)備文件
灰色:表示其他文件
這是linux系統(tǒng)約定的默認(rèn)顏色,你也可以根據(jù)自己喜好自己修改
在環(huán)境變量$LS_COLORS上修改就行,想永久保存就在~/.bashrc里改
默認(rèn)的是:
echo $LS_COLORS
rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
分號(hào)前是字的底色,分號(hào)后是字的顏色