Como desativar a cor com 'ls'?

43

Normalmente é bom ter saída em cores de ls , grep , etc. Mas quando você não quer (como em um script onde você está enviando os resultados para outro comando) existe um interruptor que pode desligá-lo? ls -G o liga (com versões derivadas do BSD de ls ) se não for o padrão, mas ls +G não o desativa. Existe mais alguma coisa que irá?

    
por iconoclast 01.01.2014 / 04:01

8 respostas

60

A saída de cores para ls é normalmente ativada por meio de um alias na maioria das distribuições atualmente.

$ alias ls
alias ls='ls --color=auto'

Você sempre pode desativar um alias temporariamente prefixando-o com uma barra invertida.

$ \ls

Fazer o acima irá causar curto-circuito no alias apenas para essa invocação. Você pode usá-lo sempre que quiser desabilitar qualquer apelido.

    
por 01.01.2014 / 04:08
23

Com o GNU ls , você pode especificar ls --color=never para desabilitar explicitamente a saída de cores. (Mesmo se você tiver um alias ls='ls --color=auto' , quando executar ls --color=never , ele será expandido para ls --color=auto --color=never e a última opção terá precedência.)

    
por 01.01.2014 / 06:55
3

em muitos derivados você também pode simplesmente usar (como no DOS):

dir

mostrará os resultados sem cor, você pode adicionar os argumentos mesmo para ls, como -l

    
por 29.11.2014 / 17:40
2
alias ls=ls

ou

unalias ls

Isso desativa permanentemente as cores.

    
por 01.01.2014 / 07:12
2

Em muitas distribuições * nix, isso é ativado por padrão nos usuários .bashrc .

Edite ~/.bashrc e remova a linha que parece:

alias ls='ls --color=auto'

Se você deseja desativar esse recurso para todas as novas contas geradas nesta máquina no futuro, remova a mesma linha de:

/etc/skel/.bashrc 
    
por 19.07.2016 / 01:57
1

use o comando

unalias ls

isto irá forçá-lo a usar o padrão ls durante a sessão

    
por 21.10.2016 / 11:36
1

No Centos7 isso está sendo definido em /etc/profile.d/colorls.sh ... as últimas 3 linhas deste script são:

alias ll='ls -l --color=auto' 2>/dev/null
alias l.='ls -d .* --color=auto' 2>/dev/null
alias ls='ls --color=auto' 2>/dev/null

Se você tiver o desejo e as permissões ... comentar a linha indesejada deve fazer o truque.

    
por 25.07.2017 / 23:20
0

Para desativar a cor: unalias ls

Para ativar a cor: alias ls = 'ls --color = auto'

Para desativar temporariamente a cor: \ ls -ltr

    
por 05.08.2015 / 15:44

Tags