Помимо раскраски файлов по их типу (бирюзовый для аудиофайлов, ярко-красный для архивов и сжатых файлов и пурпурный для изображений и видео), а ls
также раскраски файлов и каталогов на основе их атрибутов:
- Черный текст с зеленым фоном означает, что каталог доступен для записи другим пользователям, кроме владельца и группы, и имеет установленный бит закрепления (
o+w, +t
).
- Синий текст с зеленым фоном указывает на то, что каталог доступен для записи другим пользователям, кроме владельца и группы, и не имеет установленного фиксированного бита (
o+w, -t
).
Стефано Палаццо из Ask Ubuntu сделал очень поучительную картину различных цветов атрибутов:
Как отметил Тердон , настройки цвета можно изменить с помощью dircolors
. Список различных настроек окраски можно открыть с помощью dircolors --print-database
.
Каждая строка вывода, например BLK 40;33;01
, имеет вид:
[TARGET] [TEXT_STYLE];[FOREGROUND_COLOR];[BACKGROUND_COLOR]
TARGET
указывает цель для правила окраски
TEXT_STYLE
указывает стиль текста:
00
= нет
01
= жирный
04
подчеркивание
05
= мигать
07
= обратный,
08
= скрытый
FOREGROUND_COLOR
указывает цвет переднего плана:
30
= черный
31
= красный
32
= зеленый
33
= желтый
34
= синий,
35
= пурпурный
36
= голубой
37
= белый
BACKGROUND_COLOR
указывает цвета фона:
40
= черный
41
= красный
42
= зеленый
43
= желтый
44
= синий,
45
= пурпурный
46
= голубой
47
= белый
Поля могут быть опущены, начиная справа, например, .tar 01;31
означает жирный и красный.
XTerm и большинство других современных эмуляторов терминала поддерживают 256 цветов.
Цветовой код переднего плана XTerm 256 цветов имеет вид:
38;5;[FOREGROUND_COLOR]
Код цвета фона XTerm 256 цветов имеет вид:
48;5;[BACKGROUND_COLOR]
где оба FOREGROUND_COLOR
и BACKGROUND_COLOR
есть число в диапазоне 0-255. Полный список цветовых кодов для 16 и 256 цветовых режимов показан на скриншоте ниже:
38;5;
запускает xterm 256- цветной код цвета переднего плана.48;5;
запускает xterm 256-цветной код цвета фона. Cyan в моих выводах dircolors38;5;51
нет,36
хотя результат тот же.Цвета
ls
могут представлять разрешения, значения по умолчанию для некоторых систем - показывать каталоги, где у каждого есть права на запись с зеленым фоном:Вы можете изменить цвета, отредактировав свою
$LS_COLORS
переменную, используяdircolors
(изman ls
):Синтаксис по общему признанию раздражает, но вы можете изменить этот цвет, создав файл с нужными цветами и сохранив его как
~/.dircolors
:Эта команда напечатает значения по умолчанию в
~/.dircolors
. Затем вам нужно будет отредактировать этот файл и изменить эту строку:Например, чтобы сделать его черным текстом на красном фоне ( список цветовых кодов см. Здесь ):
Вам не нужно иметь все значения по умолчанию, вы также можете просто создать файл с одной строкой, переопределяя только тот, который вы хотите изменить. В любом случае, после того, как вы создали файл, загрузите его:
И вот оно в действии:
Чтобы это произошло автоматически, добавьте
eval
команду выше в свой~/.bashrc
файл.источник
eval "$(dircolors ~/dircolors)";
вместо более прямого пути, напримерdircolors ~/dircolors
?Хотя все технические ответы верны, я бы посчитал это неформальным предупреждением о том, что вы немного отказались от прав на щедрое копирование или копирование крест-накрест ... (чаще всего мы все делаем, чтобы все сначала работало, да ?)
Хорошее «озеленение», чтобы вернуться к правам, которые вы, скорее всего, хотите, это утверждение:
Лучше всего понять, что он делает, если вы понимаете назначение прописных букв + X «специальное выполнение», т.е. смотрите Википедию
источник
У меня был тот же вопрос, ответ Тердона хорош, но я думаю, что есть путаница между dirname и dircolors?
В любом случае, после некоторых дальнейших исследований я смогла изменить цвет, поэтому я поделюсь своим решением здесь. Это может быть полезно для кого-то когда-нибудь!
Итак, 3 простых шага:
Во-первых, как сказал тердон, скопируйте цвета по умолчанию в файл
Затем измените этот файл. Вы можете найти некоторые значения для цветов внутри, но я нашел больше здесь :)
И наконец, добавьте следующую строку в ваш
~/.bashrc
файл, чтобы цвета автоматически загружались при открытии терминала:Вуаля :)
источник
~/.zshrc
я должен был пойти сif [[ -f ~/.dircolors ]] ; then eval $(dircolors -b ~/.dircolors) elif [[ -f /etc/DIR_COLORS ]] ; then eval $(dircolors -b /etc/DIR_COLORS) fi
. Извините, разрыв строки ужасенЧтобы быстро решить проблему, (сделайте другие записи для файлов желтыми на nobg):
Заменить
33
на34
для синего цвета на nobg. Еще проще сделать nofg на nobg:Чтобы сделать ваше изменение постоянным, добавьте его в свой .profile:
Чтобы просмотреть не связанные с расширением правила LS_COLORS:
sed
помещает каждое правило в одну строку иgrep
удаляет правила, начинающиеся с*.'.
Чтобы изучить
ls
цвета на вашем терминале, рассмотрите возможность использованиязатем
Как указано в другом ответе (Томаса Наймана),
38;5;
это префикс для 256-цветов переднего плана и 256-цветов48;5;
фона. 256 цветов не поддерживаются всеми терминалами.Также смотрите - Что означают разные цвета в ls? - на AskUbuntu.
источник
Ну, это означает, что эта папка имеет разрешения, если вы запустите это:
это удалит bgcolor :)
источник
Чтобы это исправить, попробуйте параметр ow над LS_COLORS
Например:
Теперь вы добавляете опцию ow
источник
Вы можете изменить оттенок зеленого в Putty, чтобы сделать текст читабельным.
Откройте Putty и перейдите в Window \ Colors, выберите «ANSI Green», установите его на темно-зеленый (R: 0 G: 70 B: 0).
источник