Normalmente, é bom ter saída de cores de ls
, grep
etc. Mas quando você não deseja (como em um script em que você direciona os resultados para outro comando), existe uma opção que pode desativá-la? ls -G
ativa (com algumas versões derivadas do BSD ls
) se não for o padrão, mas ls +G
não o desativa. Existe mais alguma coisa que vai?
50
ls
egrep
ao canalizar, você não precisa fazer nada, porque--color=auto
já desativa a coloração quando sua saída é um tubo ou, na verdade, qualquer coisa, menos um tty; isso é o que 'auto' significa. Da mesma forma, o FreeBSDls -G
ou 'CLICOLOR' é 'desativado se a saída não for direcionada para um terminal, a menos que ... CLICOLOR_FORCE ...'.Respostas:
A saída de cores
ls
normalmente é ativada por meio de um alias na maioria das distros atualmente.Você sempre pode desativar temporariamente um alias, prefixando-o com uma barra invertida.
Se você fizer o procedimento acima, haverá um curto-circuito no alias apenas para esta chamada. Você pode usá-lo sempre que desejar desativar qualquer alias.
fonte
command ls
, é claro, mas isso é um pouco mais rápido.Com o GNU
ls
, você pode especificarls --color=never
para desativar explicitamente a saída em cores. (Mesmo se você tiver umalias ls='ls --color=auto'
, quando executarls --color=never
, ele será expandido parals --color=auto --color=never
e a opção posterior terá precedência.)fonte
Você também pode simplesmente usar (como no DOS):
Ele mostrará os resultados sem cor, você pode adicionar os mesmos argumentos
ls
, como-l
.fonte
ou
Isso desativa permanentemente os corantes.
fonte
ls
pseudônimos e as perde por toda a sessão, em vez de apenas um único comando.Em muitas distribuições Linux, isso é ativado por padrão nos usuários
.bashrc
.Edite
~/.bashrc
e remova a linha que se parece com:Se você deseja desativar esse recurso para todas as novas contas geradas nesta máquina no futuro, remova a mesma linha de:
fonte
No Centos7, isso está sendo definido em
/etc/profile.d/colorls.sh
... as 3 últimas linhas deste script são:Se você tiver o desejo e as permissões ... comentar a linha indesejada deve fazer o truque.
fonte
unalias ls ll l
dentro de você,.bashrc
se você não tiver permissõesPara desativar a cor: unalias ls
Para ativar a cor: alias ls = 'ls --color = auto'
Para desativar temporariamente a cor: \ ls -ltr
fonte
Pode haver algo mais acontecendo.
ls
não deve usar cores, a menos que pense estar conectado a algo interativo. Não deve colorir as coisas quando você canaliza para outro programa.Um alias geralmente é uma má idéia, porque você nunca pode se livrar dessa opção e se acostuma a configurações pessoais que talvez não consiga levar consigo para outra máquina em que você precise trabalhar. Se você precisar desativá-lo para canalizá-lo para outra coisa, use o interruptor desse tubo. Mas, as cores não devem estar lá em um cano.
Para
ls
, veja se o seu suporta aLS_COLORS
variável de ambiente. O trapd00r / LS_COLORS mostra como isso funciona. dircolors permite ajustar minuciosamente as cores e por tipo de arquivo. Se você não definir,LS_COLORS
mas a cor estiver ativada,ls
fará várias chamadas do sistema para descobrir os tipos e atributos de arquivo, para que ele possa descobrir o que colorir. As pessoas por trás de Sherlock descobriram que a configuraçãoLS_COLORS
pode evitar tudo isso e melhorar a velocidade em 40 vezes . Leia os detalhes sangrentos para ver o que encontraram.Eu faço todos os tipos de arquivo usarem as cores padrão:
Aqui está o arquivo LS_COLORS que eu forneci para os dircolors:
Para
grep
, veja se o seu suportaGREP_COLORS
ouGREP_OPTIONS
.fonte
ls
sequências de escape da saída GNU para as cores escolhidas. Compare a saída dels --color=always | od -a
com a dels --color=never | od -a
esta configuração deLS_COLORS
.ls | od -a
não emite as fugas, e é isso que eu quero. Elels
só deve emitir essas seqüências quando estiver enviando a saída para um terminal. Se você pedir, no entanto, com certeza fará isso. Então não faça isso.adicionando a resposta de @ brian-d-foy, na maioria das vezes há uma cor simples e irritante que você gosta de mudar de instância, o azul invisível do diretório ou o verde chamativo de "OTHER_WRITABLE", então vamos usar nosso 24- exibição bit :)
redefinir apenas a cor do diretório e sua outra cor gravável
leia mais sobre o código ANSI
fonte
ls
, não sobre como alterar cores individuais.