Linux

如何著色 ls 的輸出?

  • September 14, 2013

我在 Linux 文本模式下執行 CentOS。當我執行命令ls /usr/時,輸出太難閱讀(黑底深藍)。如何更改文本顏色?

ls 輸出的螢幕截圖

如果您想在控制台中更改顏色,即在 X 之外,則可以在 中指定顏色.bashrc,如下所示:

if [ "$TERM" = "linux" ]; then
   echo -en "\e]P0222222" #black
   echo -en "\e]P8222222" #darkgrey
   echo -en "\e]P1803232" #darkred
   ....
   fi

您將黑色定義為#222222詳細資訊請參閱此文章:http: //phraktured.net/linux-console-colors.html

如果您在 X中工作,那麼您可以通過.Xresources像這樣定義顏色來自定義設置:

!black
*color0:  #3D3D3D
*color8:  #5E5E5E
!red
*color1:  #8C4665
*color9:  #BF4D80
...

然後在您啟動 X 時獲取此文件,通常來自您的.xinitrc

xrdb -merge ~/.Xresources

Arch Wiki 在 .Xresources 上有一個頁面,解釋了所有選項: https ://wiki.archlinux.org/index.php/Xresources

您可以在 X 中或不在 X中進行的另一個增強功能是指定您想要著色的所有不同文件類型 - 以及它們在.dir_colors文件中各自的顏色,如下所示:

.xinitrc       01;31 
.Xauthority    01;31
.Xmodmap       00;31
.Xresources    01;33
...

要開始,請複製/etc/dir_colors到您的使用者/home目錄並進行更改。然後從您的.bashrcwith 中獲取此內容,eval $(dircolors -b ~/.dir_colors)這將允許您在使用ls.

您可以在此處找到(非常詳細和徹底的).dir_colors範例文件: https ://github.com/trapd00r/LS_COLORS/blob/master/LS_COLORS

結合所有三種方法,您可以創建一個合理統一的設置,無論您是在控制台還是在 X 中工作。

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