Como fazer o `ls` colorir sua saída por padrão, sem configurar um alias?


45

Eu não quero um alias ( alias ls='ls --color') e já havia configurado isso no Mac OSX usando CLICOLORuma variável de ambiente que trazia cores magicamente ls. Agora estou no Linux (Arch x86-64) com xtermuma configuração realmente básica e não consigo lsproduzir cores de saída (usando lsliteralmente). Eu faço obter cores ao usar --colorswitch.

Não há como conseguir isso? A conformidade com POSIX seria legal :-)

Respostas:


67

Não há como: a página man ls mostrará que a configuração padrão (para --color) é 'none' - ie. nunca use cores.

Algum motivo para você não querer usar aliases? Eu sou um usuário em recuperação do Red Hat, portanto, toda vez que instalo uma nova distribuição, defino três aliases ls assim:

## Colorize the ls output ##
alias ls='ls --color=auto'

## Use a long listing format ##
alias ll='ls -la'

## Show hidden files ##
alias l.='ls -d .* --color=auto'

2
Não há razão para que eu não possa - eu estava no Mac OSX outro dia e ele suportou o CLICOLORque eu achava que era padrão (você sempre pensa que essas coisas são padrão). E também sempre pensei nos pseudônimos como mais uma solução de adaptação. Mas eles vão fazer muito bem :-) #
28713

17
No Mac OSX você pode usaralias ls='ls -G'
Gal Bracha

2
também adicionar alias grep='grep --color'a ele;)
AmirHossein

Coloque-os juntos assimalias ll='ls -la --color=auto'
HackSlash 5/11

-3

se o uso da opção -F --color for desnecessário, por exemplo alias ll='ls -alF' shows colors


3
Isto está incorreto.
Scott
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.