ls
leva as configurações de cor da variável de ambiente LS_COLORS
. dircolors
é apenas uma maneira conveniente de gerar essa variável de ambiente. Para que esta variável de ambiente tenha efeito em todo o sistema, coloque-a no arquivo de inicialização do seu shell.
Para bash
, você coloca isso em /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)"
Para zsh
, você pode colocá-lo em /etc/zshrc
ou organizar zsh
para ler /etc/profile
na inicialização. Sua distribuição pode ter zsh
fazer isso já. Eu só trouxe isso para apontar que definir dircolors
para todos realmente depende do shell que eles usam.
Quanto a onde dircolors
obtém suas configurações, quando você não especifica um arquivo, ele usa apenas alguns padrões internos.
Você pode usar os códigos de escape de 256 cores de xterm
em seu arquivo dircolors, mas esteja ciente de que eles só funcionarão para terminais xterm
compatíveis. Eles não funcionarão no console de texto do Linux, por exemplo.
O formato para 256 códigos de escape de cor é 38;5;colorN
para cores de primeiro plano e 48;5;colorN
para cores de fundo. Então, por exemplo:
.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!