終端介面上色
2008年9月8日 星期一 by Anati
使用putty(pietty)登入你的主機的時候是否老是看到黑黑的一片呢?而且你的命令提示列也是黑黑的,當你cat一堆資料的時候,完全不知道從那開始的,所以這邊主要教各位幾樣東西,學會ansi color,修改你的登入畫面(motd)以及修改命令提示列,讓你可以做一個適合你的命令提示列。
※ 先來介紹一下什麼叫ansi color
你一定有注意到,使用「ls」指令的時候,列出來的目錄和檔案會有上色,這些都是使用ansi color上色的,方便你辨示檔案或是目錄或是執行檔等等的,所以我們也可以拿來加以應用,但是要先學會下面的規則。
兩種上色方式
1. \033[(色碼)m (文字) \033[m (用於寫在shell中或是程式中表示)
2. ctrl+v, ctrl+[, [ (色碼) m (文字) ctrl+v, ctrl+[, [m (用於文字檔)
我想大家都可以看到,有兩個部份就是起始碼和結束碼但是1, 2方式都不同,其中第一種的表示方法大多都是用在你寫的shell中或是程式中,而第二種是寫在單一的純文字檔,兩種方法都可以使用,第二種方式我要講清楚一點,免得按的時候會出錯。
2的按法是
按著ctrl後不放按下v之後全放
再按下ctrl後不放按下[之後全放
打上一個[
打上色碼(下面講)
補上結尾碼m
開始輸入你要上色的文字
重複前面的按法
※ 色碼表示(不用背,要用來這裡查就好了)
色碼分成前景色(文字色)背景色(背景色),又分了一個「暗/亮」的開關,這個也是有個規則的。
0/1;前景色;背景色
順序你不能換自乩換喔!要依照這個規則來打,中間的分號是必要的,別自己就省掉了,接下來是色碼。
(顏色) 黑 紅 綠 黃 藍 紫 靛 白
前景 30 31 32 33 34 35 36 37
背景 40 41 42 43 44 45 46 47
以上就是色碼的調配,可以調出很多種變化,給幾個例子好了
* 0;33;42 (文字深黃色,背景綠色)
* 1;35;41 (文字淺紫色,背景紅色)
※ 將你的命令提示列上色(bash)
要將命令提示列上色,本來要懂一下變數和bashrc的知識,不過這裡先教你改一下,這樣可以先讓你玩到結果,請先用vim開啟你的.bashrc
vim .bashrc
在檔案後面貼上
PS1='${debian_chroot:+($debian_chroot)}\[\033[1;33m\][\u@\h]\[\033[m\]:\[\033[1;34m\]<\w>\[\033[m\]\$ '
存檔後離開
source .bashrc重新載入
上面照著做應該就可以完成了,現在我們來解釋一下,剛剛那是什麼情況,我先把沒有加入ansi color的本來的資料寫出來「PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '」這邊看到的全是「關鍵字」\u代表username而\h是代表hostname,而\w是目前的目錄,當然你不想要顯示出來也可以拿掉,之後就請在之中穿插著上面的ansi color code就行了。
※ 先來介紹一下什麼叫ansi color
你一定有注意到,使用「ls」指令的時候,列出來的目錄和檔案會有上色,這些都是使用ansi color上色的,方便你辨示檔案或是目錄或是執行檔等等的,所以我們也可以拿來加以應用,但是要先學會下面的規則。
兩種上色方式
1. \033[(色碼)m (文字) \033[m (用於寫在shell中或是程式中表示)
2. ctrl+v, ctrl+[, [ (色碼) m (文字) ctrl+v, ctrl+[, [m (用於文字檔)
我想大家都可以看到,有兩個部份就是起始碼和結束碼但是1, 2方式都不同,其中第一種的表示方法大多都是用在你寫的shell中或是程式中,而第二種是寫在單一的純文字檔,兩種方法都可以使用,第二種方式我要講清楚一點,免得按的時候會出錯。
2的按法是
按著ctrl後不放按下v之後全放
再按下ctrl後不放按下[之後全放
打上一個[
打上色碼(下面講)
補上結尾碼m
開始輸入你要上色的文字
重複前面的按法
※ 色碼表示(不用背,要用來這裡查就好了)
色碼分成前景色(文字色)背景色(背景色),又分了一個「暗/亮」的開關,這個也是有個規則的。
0/1;前景色;背景色
順序你不能換自乩換喔!要依照這個規則來打,中間的分號是必要的,別自己就省掉了,接下來是色碼。
(顏色) 黑 紅 綠 黃 藍 紫 靛 白
前景 30 31 32 33 34 35 36 37
背景 40 41 42 43 44 45 46 47
以上就是色碼的調配,可以調出很多種變化,給幾個例子好了
* 0;33;42 (文字深黃色,背景綠色)
* 1;35;41 (文字淺紫色,背景紅色)
※ 將你的命令提示列上色(bash)
要將命令提示列上色,本來要懂一下變數和bashrc的知識,不過這裡先教你改一下,這樣可以先讓你玩到結果,請先用vim開啟你的.bashrc
vim .bashrc
在檔案後面貼上
PS1='${debian_chroot:+($debian_chroot)}\[\033[1;33m\][\u@\h]\[\033[m\]:\[\033[1;34m\]<\w>\[\033[m\]\$ '
存檔後離開
source .bashrc重新載入
上面照著做應該就可以完成了,現在我們來解釋一下,剛剛那是什麼情況,我先把沒有加入ansi color的本來的資料寫出來「PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '」這邊看到的全是「關鍵字」\u代表username而\h是代表hostname,而\w是目前的目錄,當然你不想要顯示出來也可以拿掉,之後就請在之中穿插著上面的ansi color code就行了。