控制終端輸出文本顏色

在使用putty嘲驾、secureCRT淌哟、XShell等終端仿真器連接linux系統(tǒng)時,ls辽故、vim等工具的輸出都含有各種顏色徒仓,這些顏色的輸出大大地增強(qiáng)了文本的可讀性。

一誊垢、終端文本顏色輸出的一般示例

在bash中掉弛,通常我們可以使用echo命令加-e選項(xiàng)輸出各種顏色的文本,例如:

echo -e "\033[31mRed Text\033[0m"
echo -e "\033[32mGreen Text\033[0m"
echo -e "\033[33mYellow Text\033[0m"
echo -e "\033[34mBlue Text\033[0m"
echo -e "\033[35mMagenta Text\033[0m"
echo -e "\033[36mCyan Text\033[0m"

可以分別輸出:

image.png

其中:"\033[31m"喂走、"\033[31m"殃饿、"\033[0m"等是ANSI轉(zhuǎn)義序列(ANSI escape code/sequence),它控制文本輸出的格式芋肠、顏色等乎芳。
【注】:
\033是鍵盤左上角Esc鍵對應(yīng)的ASCII碼(8進(jìn)制),\033帖池、\x1b和\e效果一樣, 例如:

echo -e "\x1b[31mRed Text\e[0m"

也輸出紅色字體“Red Text”秒咐。

可以這樣說,無論什么語言碘裕,只要你的終端能夠解釋ANSI轉(zhuǎn)義序列(大多數(shù)的類unix終端仿真器都能夠解釋ANSI轉(zhuǎn)義序列携取,win32控制臺則不支持),就能夠使用ANSI轉(zhuǎn)義序列輸出顏色帮孔。下面給出幾個示例雷滋。

示例1: C程序輸出顏色示例

// hello.c
#include <stdio.h>
int main() {
     printf("\033[31;4mRed Underline Text\033[0m\n");
}

編譯:gcc hello.c
運(yùn)行:./a.out
輸出:Red Underline Text

示例2: C++程序中輸出顏色示例

// hello.cpp
#include <iostream>
int main() {
     std::cout << "\033[31;4mRed Underline Text\033[0m" << std::endl;
}

編譯:g++ hello.cpp
運(yùn)行:./a.out
輸出:Red Underline Text

示例3: Java程序中輸出顏色示例

// hello.java
class hello {
    public static void main(String[] args) {
        System.out.println("\033[31;4mRed Underline Text\033[0m");
    }
}

【注】:Java中不能識別\e和\0x1b不撑,僅可使用\033。
編譯:javac hello.java
運(yùn)行:java hello
輸出:Red Underline Text

示例4: Python程序中輸出顏色示例

# hello.py
print "\033[31;4mRed Underline Text\033[0m"

【注】:python(v2.6.5)中不能識別\e晤斩,可以使用\033和\x1b焕檬。
運(yùn)行:python hello.py
輸出:Red Underline Text

二、更詳盡的ANSI轉(zhuǎn)義序列描述

關(guān)于控制文本顏色的ANSI轉(zhuǎn)義序列澳泵,下面給出更詳盡的描述实愚。

通用的控制文本顏色的轉(zhuǎn)義序列格式如下:

CSI n1 [;n2 [;…]] m

其中CSI全稱為“控制序列引導(dǎo)器”(Control Sequence Introducer/Initiator),也就是上述示例中的"\033["兔辅;n1腊敲、n2等表示SGR參數(shù)(下面會列出一些常用的SGR參數(shù)),用于控制顏色维苔、粗體碰辅、斜體、閃爍等文本輸出格式介时;m表示轉(zhuǎn)義序列結(jié)束没宾。

常用的SRG參數(shù)列表如下:

編碼 說明
0 關(guān)閉所有格式,還原為初始狀態(tài)
1 粗體/高亮顯示
2 模糊(
3 斜體(
4 下劃線(單線)
5 閃爍(慢)
6 閃爍(快)(
7 交換背景色與前景色
8 隱藏(伸手不見五指沸柔,啥也看不見)(
30-37 前景色循衰,即30+x,x表示不同的顏色(參見下面的“顏色表”)
40-47 背景色褐澎,即40+x会钝,x表示不同的顏色(參見下面的“顏色表”)

【注】:

  1. 其中含有(※)標(biāo)注的編碼表示不是所有的終端仿真器都支持,只有少數(shù)仿真器支持乱凿。
  2. 多個SGR參數(shù)可以組合使用顽素,例如:
echo -e "\x1b[31;4mRed Underline Text\e[0m"

輸出紅色下劃線字體“Red Underline Text”。

  1. 更多參數(shù)信息請參考“ANSI escape code”徒蟆。

顏色表:

顏色值 x 0 1 2 3 4 5 6 7
顏色 藍(lán)

載自:https://www.cnblogs.com/opangle/p/4082692.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胁出,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子段审,更是在濱河造成了極大的恐慌全蝶,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寺枉,死亡現(xiàn)場離奇詭異抑淫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)姥闪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門始苇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人筐喳,你說我怎么就攤上這事催式『恚” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵荣月,是天一觀的道長管呵。 經(jīng)常有香客問我,道長哺窄,這世上最難降的妖魔是什么捐下? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮萌业,結(jié)果婚禮上坷襟,老公的妹妹穿的比我還像新娘。我一直安慰自己咽白,他們只是感情好啤握,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布鸟缕。 她就那樣靜靜地躺著晶框,像睡著了一般。 火紅的嫁衣襯著肌膚如雪懂从。 梳的紋絲不亂的頭發(fā)上授段,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機(jī)與錄音番甩,去河邊找鬼侵贵。 笑死,一個胖子當(dāng)著我的面吹牛缘薛,可吹牛的內(nèi)容都是我干的窍育。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼宴胧,長吁一口氣:“原來是場噩夢啊……” “哼漱抓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恕齐,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤乞娄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后显歧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仪或,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年士骤,在試婚紗的時候發(fā)現(xiàn)自己被綠了范删。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡拷肌,死狀恐怖到旦,靈堂內(nèi)的尸體忽然破棺而出束铭,到底是詐尸還是另有隱情,我是刑警寧澤厢绝,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布契沫,位于F島的核電站,受9級特大地震影響昔汉,放射性物質(zhì)發(fā)生泄漏懈万。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一靶病、第九天 我趴在偏房一處隱蔽的房頂上張望会通。 院中可真熱鬧,春花似錦娄周、人聲如沸涕侈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裳涛。三九已至,卻和暖如春众辨,著一層夾襖步出監(jiān)牢的瞬間端三,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工鹃彻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留郊闯,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓蛛株,卻偏偏與公主長得像团赁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子谨履,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程欢摄,因...
    小菜c閱讀 6,444評論 0 17
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡(luò)信息傳遞的載體屉符。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 3,905評論 0 0
  • 下午上班乘坐公交時剧浸,車上呼啦啦涌進(jìn)來一群學(xué)生,頓時熱鬧不已矗钟,他們的談資不由自主的進(jìn)入我耳唆香,有說課堂趣事的,...
    善果子閱讀 554評論 0 1
  • 水吨艇,能浮起躬它,能沉下 之前覺得工作是個水到渠成的事兒,你有精力了东涡,有時間了冯吓,沒有其他要操心的事兒了倘待,沒有其他的花花心...
    麻花可樂閱讀 733評論 0 0
  • iOS7 later:
    ShawnDu閱讀 119評論 0 1