Ensino um curso de Introdução ao UNIX / Linux em uma faculdade local e um dos meus alunos fez a seguinte pergunta:
Por que alguns dos arquivos do meu diretório são brancos e outros são cinza? Os brancos são os que eu criei hoje e o cinza são arquivos existentes?
Ao analisar isso, pensei primeiro que a resposta estaria na LS_COLORS
variável, mas uma investigação mais aprofundada revelou que as listas de cores eram diferentes ao usar o -l
switch versus o -al
switch com o ls
comando. Veja as seguintes capturas de tela:
O uso ls -l
do arquivo chamado '3' é exibido em branco, mas, com a -al
opção, o mesmo arquivo mostra um cinza.
Isso é um bug no sl ou alguém sabe por que isso está acontecendo?
linux
command-line
ls
colors
Bill R
fonte
fonte
ls
próprio comando.LS_COLORS='rs=0;1' ls -l
, mas parece muito diferente.ls
pode mudar a cor de sua saída.ls
possam fornecer cores. ;-)Respostas:
Parece que sua string de prompt (
$PS1
) está definindo o atributo negrito nos caracteres para tornar as cores mais agradáveis e não desmarcando -as. A saídals
não sabe sobre isso, e faz unset negrito. Então, após a primeira saída de coresls
, tudo parece mais escuro.fonte
Toda a saída de ls será impressa na última cor ativa . Se
ls
for chamado sem cor:imprimirá a lista de arquivos em vermelho .
Ou, se não houver alteração de cor necessária para ls, a última cor permanecerá:
Ainda assim, tudo em vermelho.
Porém, assim que
ls
precisar definir uma cor (e redefinir as cores para o padrão usado pelo console), a cor usada a partir de então será o padrão do console.Com as três primeiras linhas (até o ponto azul) impressas em vermelho.
fonte