自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何改變你的終端顏色

系統(tǒng) Linux
你可以使用特殊的 ANSI 編碼設(shè)置為 Linux 終端添加顏色,可以在終端命令或配置文件中動(dòng)態(tài)添加,也可以在終端仿真器中使用現(xiàn)成的主題。本文演示了如何使 Linux 變得豐富多彩(或單色)的方法。

 使 Linux 變得豐富多彩(或單色)。

你可以使用特殊的 ANSI 編碼設(shè)置為 Linux 終端添加顏色,可以在終端命令或配置文件中動(dòng)態(tài)添加,也可以在終端仿真器中使用現(xiàn)成的主題。無論哪種方式,你都可以黑色屏幕上找回懷舊的綠色或琥珀色文本。本文演示了如何使 Linux 變得豐富多彩(或單色)的方法。

終端的功能特性

現(xiàn)代系統(tǒng)的終端的顏色配置通常默認(rèn)至少是 xterm-256color,但如果你嘗試為終端添加顏色但未成功,則應(yīng)檢查你的 TERM 設(shè)置。

從歷史上看,Unix 終端從字面上講是:用戶可以輸入命令的共享計(jì)算機(jī)系統(tǒng)上實(shí)際的物理端點(diǎn)(終點(diǎn))。它們專指通常用于遠(yuǎn)程發(fā)出命令的電傳打字機(jī)(這也是我們今天在 Linux 中仍然使用 /dev/tty 設(shè)備的原因)。終端內(nèi)置了 CRT 顯示器,因此用戶可以坐在辦公室的終端上直接與大型機(jī)進(jìn)行交互。CRT 顯示器價(jià)格昂貴 —— 無論是制造還是使用控制;比擔(dān)心抗鋸齒和現(xiàn)代計(jì)算機(jī)專家理所當(dāng)然認(rèn)為的漂亮信息,讓計(jì)算機(jī)吐出原始 ASCII 文本更容易。然而,即使在那時(shí),技術(shù)的發(fā)展也很快,很快人們就會(huì)發(fā)現(xiàn),隨著新的視頻顯示終端的設(shè)計(jì),他們需要新的功能特性來提供可選功能。

例如,1978 年發(fā)布的花哨的新 VT100 支持 ANSI 顏色,因此如果用戶將終端類型識(shí)別為 vt100,則計(jì)算機(jī)可以提供彩色輸出,而基本串行設(shè)備可能沒有這樣的選項(xiàng)。同樣的原則適用于今天,它是由 TERM 環(huán)境變量設(shè)定的。你可以使用 echo 檢查你的 TERM 定義:

  1. $ echo $TERM
  2. xterm-256color

過時(shí)的(但在一些系統(tǒng)上仍然為了向后兼容而維護(hù))/etc/termcap 文件定義了終端和打印機(jī)的功能特性?,F(xiàn)代的版本是 terminfo,位于 /etc/usr/share 中,具體取決于你的發(fā)行版。 這些文件列出了不同類型終端中可用的功能特性,其中許多都是由歷史上的硬件定義的,如 vt100 到 vt220 的定義,以及 xterm 和 Xfce 等現(xiàn)代軟件仿真器。大多數(shù)軟件并不關(guān)心你使用的終端類型; 在極少數(shù)情況下,登錄到檢查兼容功能的服務(wù)器時(shí),你可能會(huì)收到有關(guān)錯(cuò)誤的終端類型的警告或錯(cuò)誤。如果你的終端設(shè)置為功能特性很少的配置文件,但你知道你所使用的仿真器能夠支持更多功能特性,那么你可以通過定義 TERM 環(huán)境變量來更改你的設(shè)置。你可以通過在 ~/.bashrc 配置文件中導(dǎo)出 TERM 變量來完成此操作:

  1. export TERM=xterm-256color

保存文件并重新載入設(shè)置:

  1. $ source ~/.bashrc

ANSI 顏色代碼

現(xiàn)代終端繼承了用于“元”特征的 ANSI 轉(zhuǎn)義序列。這些是特殊的字符序列,終端將其解釋為操作而不是字符。例如,此序列將清除屏幕,直到下一個(gè)提示符:

  1. $ printf '\033[2J'

它不會(huì)清除你的歷史信息;它只是清除終端仿真器中的屏幕,因此它是一個(gè)安全且具有示范性的 ANSI 轉(zhuǎn)義序列。

ANSI 還具有設(shè)置終端顏色的序列。例如,鍵入此代碼會(huì)將后續(xù)文本更改為綠色:

  1. $ printf '\033[32m'

只要你對(duì)相同的計(jì)算機(jī)使用同一個(gè)顏色,就可以使用顏色來幫助你記住你登錄的系統(tǒng)。例如,如果你經(jīng)常通過 SSH 連接到服務(wù)器,則可以將服務(wù)器的提示符設(shè)置為綠色,以幫助你一目了然地將其與本地的提示符區(qū)分開來。 要設(shè)置綠色提示符,請?jiān)谔崾痉笆褂?ANSI 代碼設(shè)置為綠色,并使用代表正常默認(rèn)顏色的代碼結(jié)束:

  1. export PS1=`printf "\033[32m$ \033[39m"`

前景色和背景色

你不僅可以設(shè)置文本的顏色。使用 ANSI 代碼,你還可以控制文本的背景顏色以及做一些基本的樣式。

例如,使用 \033[4m,你可以為文本加上下劃線,或者使用 \033[5m 你可以將其設(shè)置為閃爍的文本。起初這可能看起來很愚蠢,因?yàn)槟憧赡懿粫?huì)將你的終端設(shè)置為所有文本帶有下劃線并整天閃爍, 但它對(duì)某些功能很有用。例如,你可以將 shell 腳本生成的緊急錯(cuò)誤設(shè)置為閃爍(作為對(duì)用戶的警報(bào)),或者你可以為 URL 添加下劃線。

作為參考,以下是前景色和背景色的代碼。前景色在 30 范圍內(nèi),而背景色在 40 范圍內(nèi):

顏色 前景色 背景色
黑色 \033[30m \033[40m
紅色 \033[31m \033[41m
綠色 \033[32m \033[42m
橙色 \033[33m \033[43m
藍(lán)色 \033[34m \033[44m
品紅 \033[35m \033[45m
青色 \033[36m \033[46m
淺灰 \033[37m \033[47m
回退到發(fā)行版默認(rèn)值 \033[39m \033[49m

還有一些可用于背景的其他顏色:

顏色 背景色
深灰 \033[100m
淺紅 \033[101m
淺綠 \033[102m
黃色 \033[103m
淺藍(lán) \033[104m
淺紫 \033[105m
藍(lán)綠 \033[106m
白色 \033[107m

持久設(shè)置

在終端會(huì)話中設(shè)置顏色只是暫時(shí)的,相對(duì)無條件的。有時(shí)效果會(huì)持續(xù)幾行;這是因?yàn)檫@種設(shè)置顏色的方法依賴于 printf 語句來設(shè)置一種模式,該模式僅持續(xù)到其他設(shè)置覆蓋它。

終端仿真器通常獲取使用哪種顏色的指令的方式來自于 LS_COLORS 環(huán)境變量的設(shè)置,該設(shè)置又由 dircolors 的設(shè)置填充。你可以使用 echo 語句查看當(dāng)前設(shè)置:

  1. $ echo $LS_COLORS
  2. rs=0:di=38;5;33:ln=38;5;51:mh=00:pi=40;
  3. 38;5;11:so=38;5;13:do=38;5;5:bd=48;5;
  4. 232;38;5;11:cd=48;5;232;38;5;3:or=48;
  5. 5;232;38;5;9:mi=01;05;37;41:su=48;5;
  6. 196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;
  7. 196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;
  8. [...]

或者你可以直接使用 dircolors

  1. $ dircolors --print-database
  2. [...]
  3. # image formats
  4. .jpg 01;35
  5. .jpeg 01;35
  6. .mjpg 01;35
  7. .mjpeg 01;35
  8. .gif 01;35
  9. .bmp 01;35
  10. .pbm 01;35
  11. .tif 01;35
  12. .tiff 01;35
  13. [...]

這看起來很神秘。文件類型后面的第一個(gè)數(shù)字是屬性代碼,它有六種選擇:

  • 00 無
  • 01 粗體
  • 04 下劃線
  • 05 閃爍
  • 07 反白
  • 08 暗色

下一個(gè)數(shù)字是簡化形式的顏色代碼。你可以通過獲取 ANSI 代碼的最后一個(gè)數(shù)字來獲取顏色代碼(綠色前景為 32,綠色背景為 42;紅色為 31 或 41,依此類推)。

你的發(fā)行版可能全局設(shè)置了 LS_COLORS,因此系統(tǒng)上的所有用戶都會(huì)繼承相同的顏色。如果你想要一組自定義的顏色,可以使用 dircolors。首先,生成顏色設(shè)置的本地副本:

  1. $ dircolors --print-database > ~/.dircolors

根據(jù)需要編輯本地列表。如果你對(duì)自己的選擇感到滿意,請保存文件。你的顏色設(shè)置只是一個(gè)數(shù)據(jù)庫,不能由 ls 直接使用,但你可以使用 dircolors 獲取可用于設(shè)置 LS_COLORS 的 shellcode:

  1. $ dircolors --bourne-shell ~/.dircolors
  2. LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:
  3. pi=40;33:so=01;35:do=01;35:bd=40;33;01:
  4. cd=40;33;01:or=40;31;01:mi=00:su=37;41:
  5. sg=30;43:ca=30;41:tw=30;42:ow=34;
  6. [...]
  7. export LS_COLORS

將輸出復(fù)制并粘貼到 ~/.bashrc 文件中并重新加載?;蛘撸憧梢詫⒃撦敵鲋苯愚D(zhuǎn)儲(chǔ)到 .bashrc 文件中并重新加載。

  1. $ dircolors --bourne-shell ~/.dircolors >> ~/.bashrc
  2. $ source ~/.bashrc

你也可以在啟動(dòng)時(shí)使 Bash 解析 .dircolors 而不是手動(dòng)進(jìn)行轉(zhuǎn)換。實(shí)際上,你可能不會(huì)經(jīng)常改變顏色,所以這可能過于激進(jìn),但如果你打算改變你的配色方案,這是一個(gè)選擇。在 .bashrc 文件中,添加以下規(guī)則:

  1. [[ -e $HOME/.dircolors ]] && eval "`dircolors --sh $HOME/.dircolors`"

如果你的主目錄中有 .dircolors 文件,Bash 會(huì)在啟動(dòng)時(shí)對(duì)其進(jìn)行評(píng)估并相應(yīng)地設(shè)置 LS_COLORS

顏色

在終端中使用顏色是一種可以為你自己提供特定信息的快速視覺參考的簡單方法。但是,你可能不希望過于依賴它們。畢竟,顏色不是通用的,所以如果其他人使用你的系統(tǒng),他們可能不會(huì)像你那樣看懂顏色代表的含義。此外,如果你使用各種工具與計(jì)算機(jī)進(jìn)行交互,你可能還會(huì)發(fā)現(xiàn)某些終端或遠(yuǎn)程連接無法提供你期望的顏色(或根本不提供顏色)。

除了上述警示之外,顏色在某些工作流程中可能很有用且很有趣,因此創(chuàng)建一個(gè) .dircolor 數(shù)據(jù)庫并根據(jù)你的想法對(duì)其進(jìn)行自定義吧。


 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2021-11-03 21:11:02

UbuntuLinux

2019-09-08 10:24:48

Linux顏色主題終端主題

2015-02-03 09:53:42

云計(jì)算云存儲(chǔ)云安全

2009-03-09 21:36:41

Linux終端輸出

2023-10-30 17:31:40

Linux提示符顏色

2023-10-07 15:51:56

2009-03-01 22:09:08

LinuxTerminal命令行終端

2016-07-18 14:49:22

操作系統(tǒng)Linux終端操作

2015-08-24 15:33:54

Linux 終端公有IP

2018-07-03 14:00:44

Linux終端script命令

2009-09-08 14:43:41

C# listbox

2015-09-09 09:12:28

ios矢量圖顏色

2023-04-13 07:45:15

WebGL片元著色器

2009-12-04 16:20:12

HTML 5

2021-08-20 08:50:05

Linux桌面壁紙

2022-06-19 14:13:29

tmateLinux

2022-01-27 15:37:34

Asciinema終端會(huì)話記錄器開源

2021-08-24 16:20:38

Linux終端

2018-10-12 14:15:29

2020-08-31 12:00:17

Linux終端顏色命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)