linux 的終端字型色和背景色的修改方法(二)

2021-09-08 11:58:55 字數 2688 閱讀 2390

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...