2010-04-10 2 views
4

Я использую сервер linux, который отображает каталоги жирным шрифтом и файлы в обычном шрифте.Показать каталоги с жирным шрифтом - Как включить? с .bash_profile?


e.g. $ ls производит

AFile.txt afolder anotherfile.txt anotherfolder


Я хотел бы использовать эту функцию на других серверах. Как это можно сделать? с .bash_profile?

Если у кого-то есть другие идеи о том, как различать папки из файла, им было бы полезно знать?

ответ

6

Вы должны указать ls вариант --colors=… (например, через псевдоним). Чтобы на самом деле настроить переменную окружения LS_COLORS, используемую для определения цветов, один хороший способ - создать файл конфигурации для dircolors, например. только с жирными (атрибутом 1) каталогами:

echo DIR 1 >~/.dir_colors 

Затем в .bash_profile или .bashrc, eval выходе dircolors перспективы на этот файл, чтобы установить LS_COLORS в зависимости от конфигурации. Соответствующие строки в моих .bashrc (скопировано откуда-то) выглядят следующим образом:

if [ -n "$COLORTERM" ]; then 
     alias ls='ls -F --color=auto' 
     if [ -x "`which dircolors`" -a -r "$HOME/.dir_colors" ]; then 
      eval `dircolors -b "$HOME/.dir_colors"` 
     fi 
    else 
     alias ls='ls -F' 
    fi 

Обратите внимание, что некоторые терминалы не по умолчанию, отображение полужирного начертания как истинный смелым, а просто использовать более яркий цвет. Вам нужно настроить ваш терминал, чтобы он стал жирным.

См. dircolors --print-database для примера «полного» конфигурационного файла.

+0

Необъяснимый нижний предел 5 лет спустя? ОК. – Arkku

+0

Не круто. Мне нравится этот совет. Вот 5 лет спустя. –

1

Это делается с переменной окружения. Начните с чтения человека страницы Ls:

$ man ls

Вы не можете быть в состоянии получить только смелый, но только смелая определенным цветом.

0

добавьте в .bashrc или .profile: псевдоним Ls = «Ls --color = Auto»

1

Если у кого есть другие идеи о том, как отличить папки из файла, они были бы хорошо знаете?

ls имеет возможность различать предметы, используя флаг -F.

От man page:

-F, --classify 
      append indicator (one of */=>@|) to entries 

Все, что вам нужно сделать, это добавить -F к вашей команде ls в терминале так:

$ ls -F 

Вы можете сделать это постоянным путем создания псевдонима открыв файл .bashrc (или аналогичный) и добавив:

alias ls='ls -F'

После того, как вы установили это (и либо выйдите из системы, либо запустили или запустили source ~/.bashrc), вы можете просто запустить ls, и он всегда будет считать вас добавленным -F.

Смежные вопросы