Terminal

LS_COLORS 用於 256 色終端

  • May 21, 2015

我認為 ls 顏色定義為

<file_type>=[<bg(40-47)>];<font_spec(0:5)>;<font_color(30-37)>

但是,我最近發現這裡有更多的顏色和顏色被指定為,例如:

.tar    00;38;5;61

對於 256 色終端。

這個定義是什麼意思?

指令的參數LS_COLORS是作為轉義序列的一部分寫入終端的字元串。顯示文件名時,ls寫入\e[,然後是與文件類型關聯的字元串,然後m是 ,然後是文件名,然後\e[0m(其中\e表示轉義字元)。這是一個轉義序列,它告訴 xterm 和兼容的終端(現在大多數)改變顏色和其他文本屬性(在文件中。不關心字元序列的含義或它包含多少分號。CSI *Pm* m``ls

舊終端僅支持 8 種前景色,由數字 30 到 37 指定。支持更多顏色的終端使用轉義序列,其中Ps是顏色編號,或者Pr Pg PbRGB 值。這些可以與其他屬性結合使用,例如粗體藍色文本。\e[38;5;*Ps*m``\e[38;2;*Pr*;*Pg*;*Pb*m``\e38;5;61;1m``\e38;2;95;95;175;1m

引用自:https://unix.stackexchange.com/questions/204707