Как заставить `ls` покрасить вывод по умолчанию, не устанавливая псевдоним?

45

Я не хочу псевдоним ( alias ls='ls --color'), и я ранее настроил это на Mac OSX, используя CLICOLORпеременную окружения, которая волшебным образом принесла цвета ls. Сейчас я нахожусь в Linux (Arch x86-64) с xtermочень простой настройкой, и я не могу сделать lsвывод цвета (используя lsдословно). Я сделать получить цвет при использовании --colorпереключателя.

Нет ли способа добиться этого? Соответствие POSIX было бы неплохо :-)

атп
источник

Ответы:

67

Нет пути: страница man ls покажет вам, что значением по умолчанию (для --color) является 'none' - т.е. никогда не используйте цвет.

По какой причине вы не хотите использовать псевдонимы? Я выздоравливающий пользователь Red Hat, поэтому каждый раз, когда я устанавливаю новый дистрибутив, я устанавливаю три псевдонима ls примерно так:

## 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
источник
2
Нет причин, по которым я не могу - я был на Mac OSX на днях, и он поддерживал то, CLICOLORчто я считал стандартным (вы всегда склонны думать, что эти вещи стандартны). И я также всегда думал, что псевдонимы - это скорее модифицированное решение. Но они будут делать только штраф :-)
атп
17
На Mac OSX вы можете использоватьalias ls='ls -G'
Гал Браха
2
и добавьте alias grep='grep --color'к этому;)
Амир Хоссейн
Положите их вместе, как это такalias ll='ls -la --color=auto'
HackSlash
-3

если использовать опцию -F --color не требуется, например alias ll='ls -alF' shows colors

отметка
источник
3
Это неверно
Скотт