2008年3月16日 星期日

會變色的Linux終端機

你在玩Linux終端機時可能會注意到看資料夾內容的ls指令的東西有顏色!!


像我一樣C++不會弄圖形介面只會寫文字介面但是又不甘於此想要搞怪的人一定很多。亨利·福特說過一句有關T型車配色的名言:"任何客戶都可以把車子漆成各種顏色,但是他們只想要黑色"。但終端機悲涼的黑灰色看久了你會想自殺的。

神說終端機要有顏色,於是終端機就有顏色。

廢話不多說,直接告訴你終端機要怎麼弄出顏色來。


要將上面那字串那成綠色只要在字串中加入代碼就行了。這一切都要歸功於\033[,終端機標準的"逃"代碼,相等於^ [ ,或十六進制的0x1b,就是你按上下左右鍵時會跑出來的東西。終端機接收到這神奇字元可以變出許多魔術,顏色是其中之一。語法大概如下:

\033[<指令>m

\033[是逃脫字元,<指令>控制顏色,而在m之後是文本(你想印出來的文字)。

cout << "\033[32m綠色\033[0m" << style="color: rgb(255, 153, 255);">\033[ 逃脫字元 32,0 顏色代碼 m 文本

你可能會注意到除了前面的\033[32m後面還有個\033[0m,那是因為一旦換了顏色,終端機就會一直使用這個顏色,所以要在加上個\033[0m後面喊卡。0會將設定還原成預設。

"\033[44;32;1m藍底粗體綠字\033[0m"

除了字體顏色還可以調整字體或者背景顏色。只要在當中加入其他控制代碼,並以分號";"分隔。代碼順序不影響顯示結果。所有的代碼如下。



這些讓Linux文字介面增色不少,如果windows的使用者不想看這繼續流口水,快向Linux倒戈吧= =。

部份資料譯自Linux Console Colors & Other Tricks

4 則留言:

行神 提到...

這些是基本的吧..

如果連改色都不會更別說是終端改照程式的應用了

對於版交處理起我還有一些不太懂..你是否有印象呢?

行神

elliot 提到...

這些都是很基本,沒有也不會死,但是很重要的東西。有點難找,學校也不會教。

基本上這只能在Linux的終端機上使用,Windwos的不行,算是種"特權",別的用windows的只能在旁邊流口水。

這只是我最近發現的三寶之一而已。另外兩寶是"清除畫面"和"立即字元讀取",立即字元讀取就是只要在鍵盤上按下鍵,不用按下Enter就可以讀到字元,這也是Linux的終端機才有的。所以用windows寫文字介面的只能抱著"清除畫面"流口水。

然後版交什麼鬼的我聽不清楚你再說什。

看來你也有個Blogger帳號了。下一步是甚麼?丟掉無名然後快倒戈向Blogger吧!!

行 幹部之
行男

行神 提到...

你的三寶=三大基本技能吧~

至於無名倒戈之事我可以同步上傳

立即字元切方組態還有四個步驟C++聖經那本上面沒寫

只好自己專研啦~

對了幹部會議在7/25號聖彼得堡當地時間5:20 (rewest oter uno)旅館17號房

切勿遲到!

Repos & Version 提到...

哈哈~我找到WINSOWS的了
不只LINUX可以了
可單獨變拉~~




我是育睿