ls
, поставляемый с OS X, от BSD, и в нем отсутствуют некоторые функции его родного брата GNU.
Чтобы получить желаемый результат, вам нужно установить coreutils
(при условии, что у вас установлен MacPorts, затем запустить sudo port install coreutils
), что даст вам версии GNU, хотя с префиксом g
(то есть * 1007) *).
Далее выполните команду gdircolors -p > ~/.dir_colors
, чтобы сгенерировать файл, в котором вы будете хранить свои настройки цвета. У него уже есть много общих расширений, просто добавьте отсутствующие или измените числа, если вы предпочитаете другие цвета. Или скопируйте существующий, если он у вас уже есть, из установки GNU / Linux.
Чтобы заставить ваши цвета работать, сначала откройте .bash_profile
и добавьте строки:
eval `gdircolors ~/.dir_colors`
alias ls="gls --color=auto"
alias ll="gls --color=auto -lh"
alias la="gls --color=auto -a"
Который отменяет версии BSD и добавляет цвет. Затем либо запустите source .bash_profile
, либо откройте новый терминал, чтобы изменения вступили в силу. Если вы получите сообщение об ошибке bash: dircolors: command not found
, то при вызове вы не увидите gdircolors
на своем пути, поэтому убедитесь, что оно появляется после строки, которая говорит что-то вроде
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
eval `gdircolors ~/.dir_colors`
Наконец, я читал в некоторых местах, что это может быть лучше помещено в ваш файл .bashrc
, и в этом случае добавьте к нему строки и добавьте эту строку в конце вашего .bash_profile
:
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
Не знаю, нужно ли это или нет, у меня его нет и не было проблем.