ls cores para permissões

6

Existe uma maneira de controlar a saída de cores de ls para destacar permissões específicas nos arquivos? (por exemplo, permissões write ).

Alguma opção em LS_COLORS que faria isso? (a imagem acima é de Dired + no Emacs 24.1, não da saída de ls )

    
por Amelio Vazquez-Reina 20.09.2012 / 21:56

4 respostas

4

Você sempre pode colocar ls em estéreos para obter o efeito de coloração das permissões de arquivo.

    
por 21.09.2012 / 20:47
3

Eu apenas tentei, e isso é realmente possível com um pequeno programa Ruby chamado acoc (Arbitrary Colorida de Saída de Comando). Ele pode ser usado para interceptar a saída de qualquer programa terminal (a saída colorida em top e gcc é particularmente interessante) e colori-los de acordo com um arquivo de regras de expressão regular especificadas pelo usuário. É um pouco de trabalho para configurar, e você terá que definir suas regras, mas isso é tão flexível quanto possível. Consegui adicionar com êxito uma regra para colorir arquivos graváveis do mundo.

Um par de advertências para estar ciente de se você seguir esse caminho:

  1. Este projeto não parece estar em nenhuma distribuição - você terá que instalar manualmente a partir da página inicial.
  2. Você precisa corrigir o código na página inicial do projeto para trabalhar com as versões modernas do Ruby. Você pode encontrar o patch aqui (entrei em contato com o autor para informá-lo sobre o patch, talvez ele vai atualizar sua versão).
  3. No caso de ls , a interceptação com acoc elimina o LS_COLORS existente, portanto, você precisará fornecer todas as regras necessárias como expressões regulares, incluindo coisas que costumavam ser destacadas com LS_COLORS .
por 21.09.2012 / 01:52
1

Se dircolors --print-database listar todas as opções possíveis, não há como realçar as permissões na saída longa.

Você ainda pode usar o grep:

ls -l | grep --color -P "(?<=[r-])w"

Ele destacará todos os w s na parte de permissões; ele também destacará w s seguindo r s e - s no nome do arquivo, infelizmente.

    
por 20.09.2012 / 22:24
1

Não sei se é isso que você está procurando. Algum tempo atrás eu escrevi um script que funciona como "ls", mas mostra algumas cores bonitas para permissões na saída. Você pode ler sobre isso aqui , baixá-lo aqui . Eu guardo em / usr / local / bin. Se você é um usuário de distro baseado no ubuntu debian, substitua #! / Bin / sh para #! / Bin / bash no script;) Pergunte, se você tiver alguma dúvida.

    
por 21.09.2012 / 13:42

Tags