dir_colors(5) | File Formats Manual | dir_colors(5) |
dir_colors - файл настроек для утилиты dircolors(1)
Программа ls(1) использует переменную окружения LS_COLORS для определения цветов, которыми должны отображаться имена файлов. Эта переменная окружения обычно устанавливается командой типа:
Эта команда обычно находится в стандартном файле начальных настроек оболочки командной строки, например в /etc/profile или /etc/csh.cshrc. (Смотрите также dircolors(1).) Обычно здесь используется файл /etc/DIR_COLORS, и его настройки могут быть изменены файлом .dir_colors из каталога пользователя.
Данный файл настройки состоит из нескольких операторов, по одному в строке. Всё, что находится после символа решётки (#), считается комментарием (если этот символ находится в начале строки или перед ним находится как минимум один пробел). Пустые строки игнорируются.
Все операторы, появившиеся до первого оператора TERM, составляют глобальный раздел. Они действуют для всех типов терминалов. После глобального раздела находится один или более разделов, описывающих определённые терминалы. Он начинается с одного или более операторов TERM, который задаёт тип терминала (то же имя, что указывается в переменной окружения TERM). Для любого терминала глобальные настройки всегда можно перекрыть терминал-специфичными.
Распознаются следующие операторы (регистр букв неважен):
Большинство цветных ASCII-терминалов в настоящее время используют цветовые последовательности ISO 6429 (ANSI), а многие распространённые терминалы, не поддерживающие цвет, включая xterm и широко используемый и клонируемый DEC VT100, распознают цветовые коды ISO 6429 и без последствий удаляют их из выходного потока или же эмулируют их. ls по умолчанию использует коды ISO 6429, если включена расцветка.
Цветовые последовательности ISO 6429 представляют собой последовательность чисел, разделённых точками с запятой. Самые распространенные коды:
0 | восстановить цвет по умолчанию |
1 | яркие цвета |
4 | подчёркнутый текст |
5 | мигающий текст |
30 | чёрные символы |
31 | красные символы |
32 | зелёные символы |
33 | жёлтые (или коричневые) символы |
34 | синие символы |
35 | пурпурные символы |
36 | бирюзовые символы |
37 | белые (или серые) символы |
40 | чёрный фон |
41 | красный фон |
42 | зелёный фон |
43 | жёлтый (или коричневый) фон |
44 | синий фон |
45 | пурпурный фон |
46 | бирюзовый фон |
47 | белый (или серый) фон |
Не все команды будут работать на любой системе или устройстве отображения.
ls использует следующие значения по умолчанию:
NORMAL | 0 | обычный (не имя файла) текст |
FILE | 0 | обычный файл |
DIR | 32 | каталог |
LINK | 36 | символьная ссылка |
ORPHAN | не определено | сломанная символьная ссылка |
MISSING | не определено | отсутствующий файл |
FIFO | 31 | именованный канал (FIFO) |
SOCK | 33 | сокет |
BLK | 44;37 | блочное устройство |
CHR | 44;37 | символьное устройство |
EXEC | 35 | исполняемый файл |
Некоторые терминальные программы неправильно распознают настройки цвета по умолчанию. Если весь текст становится расцвеченным после того, как вы просматриваете листинг каталога, измените коды NORMAL и FILE на цифровые коды для нормального цвета текста и фона.
Если у вас есть терминал (или принтер!) с поддержкой цвета (или другими возможностями выделения), который использует другой набор кодов, вы всё равно сможете создать подходящие настройки. Для этого нужно использовать операторы LEFTCODE, RIGHTCODE и ENDCODE.
При выводе имени файла ls генерирует такую последовательность: LEFTCODE кода_типа RIGHTCODE имя_файла ENDCODE, где код_типа — цветовая последовательность, зависящая от типа или имени файла. Если ENDCODE не определён, то вместо него будет использоваться последовательность LEFTCODE NORMAL RIGHTCODE. Предназначением левого (LEFTCODE) и правого (RIGHTCODE) кодов является сокращение количества информации, которую нужно набирать (а также спрятать уродливые escape-последовательности от пользователя). Если они не подходят для вашего терминала, их можно выключить, поместив соответствующее ключевое слово на отдельной строке.
ЗАМЕЧАНИЕ: Если ENDCODE определён в глобальном разделе файла настроек, то его нельзя переопределить в разделе определённого терминала. Это означает, что все определения NORMAL не приведут ни к какому результату. Однако, можно использовать различные ENDCODE, что и приведёт к нужному результату.
To specify control- or blank characters in the color sequences or filename extensions, either C-style \-escaped notation or stty-style ^-notation can be used. The C-style notation includes the following characters:
\a | Звуковой сигнал (ASCII 7) |
\b | Забой (ASCII 8) |
\e | Экранирующий символ (ASCII 27) |
\f | Прогон страницы (ASCII 12) |
\n | Перевод строки (ASCII 10) |
\r | Возврат каретки (ASCII 13) |
\t | Табуляция (ASCII 9) |
\v | Вертикальная табуляция (ASCII 11) |
\? | Удаление (ASCII 127) |
\nnn | Любой символ (восьмеричная запись) |
\xnnn | Любой символ (шестнадцатеричная запись) |
\_ | Пробел |
\\ | Обратная косая черта (\) |
\^ | Caret (^) |
\# | Знак решетки (#) |
Заметьте, что экранирование необходимо, чтобы использовать пробел, обратную косую черту, крышку или управляющие символы в любом месте строки, а также символ решётки в качестве первого символа в строке.
Эта страница описывает формат файла dir_colors, который можно найти в пакете fileutils-4.1; другие версии могут немного отличаться.
Значение LEFTCODE и RIGHTCODE, используемые по умолчанию терминалами ISO 6429:
LEFTCODE | \e[ |
RIGHTCODE | м |
По умолчанию значение ENDCODE не определено.
Русский перевод этой страницы руководства был сделан Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
5 февраля 2023 г. | Linux man-pages 6.03 |