O comando ls é usado para listar os arquivos e subdiretórios presentes dentro de um diretório. Um parâmetro muito útil deste comando é o --color que faz a saída ser formatada em cores, como mostrado na imagem abaixo:
Como geralmente meus papéis de parede são escuros, acabo tendo uma grande dificuldade para conseguir ler os nomes de diretórios (listados na imagem em azul escuro).
Este post é sobre como mudar a cor desta listagem.
Você consegue descobrir a cor atual dos arquivos/diretórios através do comando:
$ dircolors
Não usarei as informações deste comando, na verdade irei sobrescrever o valor da cor usada para diretórios com uma de minha preferência.
E para isto, basta redefinir a variável de ambiente LS_COLORS, deste modo:
$ export LS_COLORS=”di=38;5;NÚMERO”
export LS_COLORS define a variável de ambiente com o valor que queremos.di=38;5;NÚMERO define a cor para os diretórios na listagem. Neste caso, devemos substituir NÚMERO pelo número da cor. Este número pode ser encontrado facilmente neste site, abaixo de “Color cube”A imagem abaixo mostra o Color cube que existe no site.
Posicione o mouse em cima da cor que você quer e irá aparecer o número correspondente (aparece na barra de status também). No color cube as cores começam em 16 e vão até 231. Eu escolhi 32, que corresponde a um azul não tão forte quanto o padrão da listagem.
Além da opção di onde definimos a cor para diretórios, temos outras opções:
di = diretóriofi = arquivoln = link simbólicopi = arquivo fifoso = arquivo socketbd = bloco (bufferizado) – arquivo especialcd = caracter (não bufferizado) – arquivo especialor = link simbólico apontando para arquivo não existente (órfão)mi = arquivo não existente apontado por link simbólico (visível ao digitar ls -l)ex = arquivo executável (que possui “x” definido em suas permissões).*.mp3 = uma extensão específica.
Para usar mais de um parâmetro devemos separá-los com “:”, como no exemplo abaixo:
$ LS_COLORS=”di=1:fi=0:ln=31:pi=5:ex=35:*.mp3=90″
Como meu interesse é mudar somente a cor de diretórios, usarei somente o comando abaixo mesmo:
$ export LS_COLORS=”di=38;5;32″
Ao digitar o comando citado, as suas configurações de cores já devem ter mudado. Para que esta configuração seja carregada sempre ao iniciar o sistema, adicione o comando no arquivo ~/.bashrc, como mostrado abaixo:
# Check for an interactive session [ -z "$PS1" ] && return # define um alias para o ls alias ls='ls --color' # exporta uma nova configuração para cor de diretórios export LS_COLORS="di=38;5;32" PS1='[\u@\h \W]\$ '
Assim, a configuração é carregada automaticamente.
Aqui vemos a listagem antes e depois para mostrar o resultado.
Referências
[1] – Terminal colour highlights
[2] – LS_COLORS




3 janeiro, 2011 às 7:54 |
show de bola eddye.
muito util quando se trabalha com papéis de parede escuro.
forte abraço cara!
3 janeiro, 2011 às 17:23 |
Pois é, facilita bastante a visualização. Embora esteja pensando em mudar definitivamente aquela cor (através da configuração do meu terminal – mrxvt) pois ela é usada ainda em outros programas como o vim, por exemplo.
Dependendo é mais fácil mudar a cor do que configurar todos os programas que a exibem, mas é algo que estou pensando ainda
. Valeu pelo comentário. Abraço