linux終端下的顏色設定 2013-08-31 22:57:15
分類: linux
在 ansi 相容終端(例如 xterm、rxvt、konsole 等)裡, 可以用彩色顯示文字而不僅僅是黑白。 本文示範了如何使用粗體和彩色的文字。
相信每一位linux使用者都要面對 bash。 雖然第一眼看上去非常枯燥,但是又很多方法能夠讓你的 shell 足夠的個性化。 shell 提示符的彩色增強讓能夠讓你的 shell 獨一無二, 而且還非常清晰易讀。
在本文中我以 bash shell 為例。因為在不同的終端裡的轉義序列不完全相同, 所以在本文中我使用的是 ansi 終端。
shell 彩色配置出現在 bash 的個人配置檔案 ~/.bashrc 或者是全域性配置檔案 /etc/bashrc 裡面。 可以通過bashrc 裡面的 ps1 變數來設定提示符的外觀。
一般預設的情況下.bashrc裡面應該是:
~/.bashrc
export ps1=' \u@\h:\w\$ '
上面的意思是:使用者@主機:當前目錄 $
-->這也是大家都非常熟悉的shell提示符 。
其中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時,提示符為:# ,普通使用者則為:$
要是通過彩色化提示符來增加個性化,就要用到轉義序列。 轉義序列就是乙個讓 shell 執行乙個特殊步驟的控制指令。 轉義序列通常都是以 esc 開頭(這也是它的命名原因)。 在 shell 裡表示為 ^[ .這種表示法需要一點時間去適應, 也可以用 \033 完成相同的工作(esc 的 ascii 碼用十進位制表示就是 27,等於用八進位制表示的 033)。
要直接在 shell 裡面輸入轉義序列我們需要先按 ctrl-v:ctrl-v esc。
下面進入主題,說下該如何用shell的顏色。我用我自己的shell顏色設定詳細說明.
**:ps1="\[\033[1;32;40m[\033[0;32;40m\u@\h:\033[1;35;40m\w\033[1;32;40m]\033[1;31;40m\$\033[1;32;40m \]"
最外邊的"\[ \]"是為了把轉義序列的字串括起來,防止轉義序列的文字顯示在 shell 裡占用太多的空間。
\033 宣告了轉義序列的開始,然後是 [ 開始定義顏色。 後面的 0 定義了預設的字型寬度,接著的中間的數字定義字元顏色。最後面的數字定義了字元背景色。字母m是定義本身所必須的,字母m後面的字元就是你想改變的字元了。
可選顏色:紅色、綠色、黃色、藍色、洋紅、青色和白色。 他們對應的顏色**是:30(黑色)、31(紅色)、32(綠色)、 33(黃色)、34(藍色)、35(洋紅)、36(青色)、37(白色)。
用同樣色方法設定背景色,不過要把第乙個數字「3」替換成「4」, 例如 40、41、42、43、44、45、46、47。
比如上面我的定義中: 最後顯示的結果是在$號之前的字元全部用乙個淺綠色的中括弧擴起來。$字元 顯示為紅色。後面的輸入顯示為高亮淺綠色。在括弧裡面,使用者名稱@主機顯示為深綠色,路徑顯示為洋紅。
用**解釋:
ps1 ="\[ -------------> 最外面的括弧
\033[1;32;40m[
----> 定義最右邊的" [ " ;
1:字型寬度,好像有加亮功能.
32:字元顏色。32表示綠色。
40:背景色,40表示黑色。
\033[0;32;40m\u@\h:
--------->定義右邊的 \u@\h: 這幾個字元顏色。
0: 預設字型寬度。
32:字元顏色。綠色。
40: 背景顏色。黑色。
\033[1;35;40m\w
---------> 定義右邊的 \w (路徑顏色) 。
1:字元寬度。加亮。
35:字元顏色。洋紅。
40:背景色。黑色。
\033[1;32;40m]
---------> 定義右邊的 ] 字元。跟前面的 [ 字元使用同一效果。
\033[1;31;40m\$
---------> 定義了 $ 字元 為紅色。轉義字元,所以前面加了 \ .
顏色都跟前面差不多。相信大家都發現規律了。
\033[1;32;40m
----------> 這個定義了你在命令列要輸入命令顯示的顏色。
-----------> 字串結束括弧。
這個就是上面例子的詳細定義內容。
其 實我的是沒有關閉顏色轉義序列,讓自己輸入的字元也改變顏色,整天看這黑白螢幕不爽哇!!如果不想改變輸入顏色的話,用 \033[0m 關閉轉義序列, \033[0m 是 shell 的預設顏色。按照上面的例子來說就是在 \]" 前面加上 \033[0m 即可。
linux 的終端字型色和背景色的修改方法(一)
更改linux系統終端的顏色主題 隨著linux系統在伺服器端的崛起,linux也在慢慢進軍個人桌面系統領域。如果在使用linux系統的終端時,對其顏色主題不是很滿意,該怎麼修改顏色的主題呢?今天筆者就和大家分享一下如何更改linux終端的顏色主題的經驗。我們一起開始吧!方法 步驟啟動linux系統...
linux 的終端字型色和背景色的修改方法(二)
linux終端下的顏色設定 2013 08 31 22 57 15 分類 linux 在 ansi 相容終端 例如 xterm rxvt konsole 等 裡,可以用彩色顯示文字而不僅僅是黑白。本文示範了如何使用粗體和彩色的文字。相信每一位linux使用者都要面對 bash。雖然第一眼看上去非常枯...
Linux用命令設定終端背景色和字型顏色
1.setterm inversecreen on 背景字型顏色互換 2.setterm inversecreen on 恢復預設 3.setterm 選項 引數 background black,red,green,yellow,blue,magenta,cyan,white foreground...