colorindo a saída de ls de acordo com a extensão do arquivo

5

Estou trabalhando em alguns arquivos C ++, todos em uma única pasta.

Quando eu faço ls , os arquivos .cpp e .h aparecem na mesma cor.

Existe uma maneira de dizer ao shell bash que eu quero exibir arquivos .cpp em rosa e .h arquivos em marrom dourado?

    
por smilingbuddha 01.09.2012 / 16:09

1 resposta

7

Se você está trabalhando com o GNU coreutils (muito provável se você estiver no Linux), você está procurando por dir_colors utilitário.

Se a sua distribuição já configurou tudo para que você obtenha cores diferentes em ls para alguns tipos de arquivo, basta, por exemplo, copiar /etc/DIR_COLORS para seu ~/.dir_colors , fazer as alterações desejadas, então inicie um novo shell para ver os efeitos.

Se não, ainda copie o arquivo para o seu diretório home como acima. Então você precisará:

  • coloque isso em algum lugar nos arquivos rc do seu shell:

    eval 'dircolors ~/.dir_colors'
    
  • alias ls to ls --color=auto (coloque isso em seus arquivos rc também)

Você pode obter isso no Mac OS X também via coreutils MacPort. Uma ls melhor para o Mac OS X tem alguns detalhes sobre isso ( preste atenção na opção with_default_names , certifique-se de entender as implicações de usá-la se / antes de você fazer isso.

Para o FreeBSD (não sei se isso se aplica a outras variantes do BSD), a opção para ls seria -G , e confira o ls (1) descrição da página man para a variável de ambiente CLICOLORS para um pouco mais de informação.

    
por 01.09.2012 / 16:18

Tags