ls
从环境变量获取颜色设置LS_COLORS
。dircolors
只是生成此环境变量的便捷方法。要使此环境变量在整个系统范围内生效,请将其放入外壳程序的启动文件中。
对于bash
,您可以将其输入/etc/profile
:
# `dircolors` prints out `LS_COLORS='...'; export LS_COLORS`, so eval'ing
# $(dircolors) effectively sets the LS_COLORS environment variable.
eval "$(dircolors /etc/DIR_COLORS)"
对于zsh
,您可以将其放入/etc/zshrc
或安排在启动时zsh
阅读/etc/profile
。您的发行版可能已经zsh
这样做了。我只是想指出这一点dircolors
,真正适合每个人的设置取决于他们使用的shell。
至于从何处dircolors
获取其设置,当您不指定文件时,它仅使用一些内置默认值。
您可以xterm
在dircolors文件中使用的256个颜色转义码,但请注意,它们仅适用于xterm
兼容的终端。例如,它们将无法在Linux文本控制台上运行。
256个颜色转义码的格式适用38;5;colorN
于前景色和48;5;colorN
背景色。因此,例如:
.mp3 38;5;160 # Set fg color to color 160
.flac 48;5;240 # Set bg color to color 240
.ogg 38;5;160;48;5;240 # Set fg color 160 *and* bg color 240.
.wav 01;04;05;38;5;160;48;5;240 # Pure madness: make bold (01), underlined (04), blink (05), fg color 160, and bg color 240!
.mp3 00;36
以使用xterm-256颜色图表upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg中的color126