Além de colorir os arquivos com base em seu tipo (turquesa para arquivos de áudio, vermelho brilhante para arquivos e arquivos compactados e roxo para imagens e vídeos), ls
também pinta arquivos e diretórios com base em seus atributos:
- O texto em preto com fundo verde indica que um diretório pode ser gravado por outras pessoas, além do usuário e grupo proprietário, e tem o bit fixo definido (
o+w, +t
).
- O texto azul com fundo verde indica que um diretório pode ser gravado por outras pessoas, além do usuário e do grupo proprietário, e não tem o bit fixo definido (
o+w, -t
).
Stephano Palazzo, no Ask Ubuntu , fez essa imagem muito instrutiva sobre as diferentes cores de atributos:
Como Terdon apontou, as configurações de cores podem ser modificadas via dircolors
. É possível acessar uma lista das diferentes configurações de cores dircolors --print-database
.
Cada linha de saída, como BLK 40;33;01
, é da forma:
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
TARGET
indica o alvo para a regra de coloração
TEXT_STYLE
indica o estilo do texto:
00
= nenhum
01
= negrito
04
= sublinhado
05
= piscar
07
= reverso,
08
= oculto
FOREGROUND_COLOR
indica a cor do primeiro plano:
30
= preto
31
= vermelho
32
= verde
33
= amarelo
34
= azul,
35
= magenta
36
= ciano
37
= branco
BACKGROUND_COLOR
indica as cores do plano de fundo:
40
= preto
41
= vermelho
42
= verde
43
= amarelo
44
= azul,
45
= magenta
46
= ciano
47
= branco
Os campos podem ser omitidos a partir da direita, por exemplo, .tar 01;31
significa negrito e vermelho.
O XTerm e a maioria dos outros emuladores de terminal modernos suportam 256 cores.
Um código de cores em primeiro plano do XTerm com 256 cores tem o formato:
38;5;[FOREGROUND_COLOR]
Um código de cores de fundo XTerm com 256 cores está no formato:
48;5;[BACKGROUND_COLOR]
onde ambos FOREGROUND_COLOR
e BACKGROUND_COLOR
é um número no intervalo de 0 a 255. Uma lista completa de códigos de cores para os modos de 16 e 256 cores é mostrada na captura de tela abaixo:
38;5;
inicia um código de cores xterm de 256 cores em primeiro plano.48;5;
inicia um código de cores de fundo de 256 cores xterm. O ciano na saída de meus dircolors38;5;51
não é36
o resultado.As cores de
ls
podem representar as permissões, o padrão para alguns sistemas é mostrar diretórios em que todos tenham permissões de gravação com um fundo verde:Você pode alterar as cores editando sua
$LS_COLORS
variável usandodircolors
(deman ls
):A sintaxe é reconhecidamente irritante aqui, mas você pode alterar essa cor criando um arquivo com as cores desejadas e salvando-o como
~/.dircolors
:Esse comando imprimirá os padrões
~/.dircolors
. Você precisará editar esse arquivo e alterar esta linha:Por exemplo, para torná-lo texto em preto sobre fundo vermelho (veja aqui uma lista de códigos de cores):
Você não precisa ter todos os padrões, também pode criar um arquivo com uma única linha, redefinindo apenas o que deseja alterar. De qualquer forma, depois de criar o arquivo, carregue-o com:
E aqui está em ação:
Para que isso aconteça automaticamente, adicione o
eval
comando acima ao seu~/.bashrc
arquivo.fonte
eval "$(dircolors ~/dircolors)";
vez de maneira mais direta, comodircolors ~/dircolors
?Embora todas as respostas técnicas sejam verdadeiras, eu consideraria um aviso informal que você distribuiu direitos um pouco generosamente ou copiou criss + cross ... (na maioria das vezes todos nós fazemos, para fazer as coisas funcionarem inicialmente, hein ?)
Um bom "esverdeado" para voltar aos direitos que você provavelmente deseja, é esta afirmação:
Entendeu melhor o que ele faz, se você entende o propósito de letras maiúsculas + X "execução especial", ou seja, consulte a Wikipedia
fonte
Eu tinha a mesma pergunta, a resposta de Terdon é boa, mas acho que há uma confusão entre dirname e dircolors?
De qualquer forma, depois de algumas pesquisas, eu poderia mudar as cores, então estou compartilhando minha solução aqui. Pode ser útil para alguém algum dia!
Então, 3 etapas simples:
Primeiro, como disse Terdon, copie as cores padrão em um arquivo
Modifique este arquivo. Você pode encontrar alguns valores para cores no interior, mas eu achei mais aqui :)
E, finalmente, adicione a seguinte linha ao seu
~/.bashrc
arquivo para que as cores sejam carregadas automaticamente quando você abrir um terminal:Voilà :)
fonte
~/.zshrc
eu tive que ir comif [[ -f ~/.dircolors ]] ; then eval $(dircolors -b ~/.dircolors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi
. Desculpe quebra de linha são awefulPara corrigir rapidamente o problema (deixe os arquivos graváveis em amarelo no nobg):
Substitua
33
por34
azul no nobg. Ainda mais simples, para torná-lo nofg no nobg:Para tornar sua alteração permanente, anexe-a ao seu perfil.
Para visualizar as regras relacionadas a não extensão de LS_COLORS:
sed
coloca cada regra em uma linha egrep
remove as regras começando por*.'.
Para explorar as
ls
cores do seu terminal, considere usarEntão
Como afirmado em outra resposta (a de Thomas Nyman),
38;5;
é o prefixo para 256 cores de termo x em primeiro plano e48;5;
para 256 cores de termo x em segundo plano. 256 cores não são suportadas por todos os terminais.Veja também - O que as diferentes cores significam em ls? - no AskUbuntu.
fonte
Bem, isso significa que esta pasta tem permissões se você executar isso:
ele remove bgcolor :)
fonte
Para corrigir isso, tente o parâmetro ow sobre o LS_COLORS
Por exemplo:
Agora você adiciona a opção ow
fonte
Você pode alterar o tom de verde no Putty para tornar o texto legível.
Abra o Putty e vá para Window \ Colors, selecione "ANSI Green", defina-o para um verde mais escuro (R: 0 G: 70 B: 0).
fonte