Mudando as cores da saída do ls

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ório
  • fi = arquivo
  • ln = link simbólico
  • pi = arquivo fifo
  • so = arquivo socket
  • bd = bloco (bufferizado) – arquivo especial
  • cd = caracter (não bufferizado) – arquivo especial
  • or = 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

    Anúncios
  • Marcado com: , , , , ,
    Publicado em linux, terminal
    2 comentários em “Mudando as cores da saída do ls
    1. assolan disse:

      show de bola eddye.

      muito util quando se trabalha com papéis de parede escuro.

      forte abraço cara!

      • eddye disse:

        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

    Deixe um comentário

    Preencha os seus dados abaixo ou clique em um ícone para log in:

    Logotipo do WordPress.com

    Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

    Imagem do Twitter

    Você está comentando utilizando sua conta Twitter. Sair / Alterar )

    Foto do Facebook

    Você está comentando utilizando sua conta Facebook. Sair / Alterar )

    Foto do Google+

    Você está comentando utilizando sua conta Google+. Sair / Alterar )

    Conectando a %s

    %d blogueiros gostam disto: