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 :-)

amn
fonte

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'
pdah
fonte
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

Marca
fonte
3
Isto está incorreto.
Scott