dircolors
Что такое команда dircolors в Linux
Команда dircolors в Linux — это утилита, предназначенная для настройки цветовой схемы вывода команд, таких как ls, dir, vdir и других, использующих библиотеку GNU coreutils. С помощью неё можно задать, какие цвета будут отображаться для файлов, каталогов, символических ссылок, исполняемых файлов, архивов и других типов объектов.
Обычно команда dircolors в Linux используется вместе с переменной окружения LS_COLORS, которая хранит информацию о цветах в формате, понятном утилите ls. Таким образом, dircolors — это связующее звено между конфигурационным файлом цветов и самим терминалом.
Пример простого вызова:
dircolors
Эта команда выведет текущие настройки цветовой схемы, используемые системой.
Чтобы применить настройки для текущего сеанса, используют:
eval "$(dircolors)"
или для пользовательского файла конфигурации:
eval "$(dircolors ~/.dircolors)"
Основные параметры команды dircolors
Параметр --help
Показывает краткую справку по всем доступным опциям и синтаксису команды dircolors в Linux:
dircolors --help
Это полезно, когда нужно быстро вспомнить назначение ключей без обращения к документации.
Параметр --version
Выводит информацию о версии программы:
dircolors --version
Иногда версии могут отличаться между дистрибутивами, и это важно учитывать при настройке цветовых схем.
Параметр -b (или --sh)
Форматирует вывод для Bourne shell (bash, dash, sh). Это наиболее часто используемый вариант. Пример:
eval "$(dircolors -b ~/.dircolors)"
Команда создаёт список переменных окружения в формате, который понимает bash, и сразу применяет его.
Если в .bashrc добавить строку:
eval "$(dircolors -b ~/.dircolors)"
то цветовая схема будет автоматически активироваться при каждом запуске терминала.
Параметр -c (или --csh)
Выводит настройки в формате, совместимом с C shell (csh или tcsh).
eval "`dircolors -c ~/.dircolors`"
Этот вариант подходит пользователям, которые используют C shell или tcsh в качестве основного интерпретатора команд.
Параметр FILE
Можно явно указать файл конфигурации:
dircolors /etc/DIR_COLORS
Или использовать персональный файл:
dircolors ~/.dircolors
Файлы конфигурации содержат пары «тип файла — цвет», например:
DIR 01;34
LINK 01;36
EXEC 01;32
Цвета кодируются ANSI-последовательностями: первая часть определяет стиль (например, 01 — жирный шрифт), а вторая — цвет (34 — синий, 32 — зелёный и т.д.).
Как работает dircolors с LS_COLORS
Переменная окружения LS_COLORS
После выполнения команды dircolors в Linux создаётся или обновляется переменная LS_COLORS.
Посмотреть её содержимое можно так:
echo $LS_COLORS
Пример вывода:
di=01;34:ln=01;36:so=01;35:ex=01;32:*.tar=01;31
Каждый элемент указывает, каким цветом будет отображаться объект определённого типа.
di— директорияln— символическая ссылкаso— сокетex— исполняемый файл*.tar— файлы с расширением.tar
unset LS_COLORS
Пример пользовательской настройки цветов
Создайте файл ~/.dircolors и добавьте:
# Моя схема цветов
DIR 01;34
LINK 01;36
EXEC 01;32
*.py 00;33
*.sh 00;35
Примените изменения:
eval "$(dircolors -b ~/.dircolors)"
Теперь .py файлы будут отображаться жёлтым цветом, а .sh — пурпурным.
Это помогает визуально отличать типы файлов при работе с проектами.
# в файле .dircolors для пояснения цветовых настроек — это облегчает поддержку и изменение конфигурации.Расширенные возможности dircolors
Совместимость с другими утилитами
Хотя команда dircolors в Linux чаще всего применяется для ls, её также можно использовать с другими инструментами, поддерживающими переменную LS_COLORS. Например:
vdir— выводит содержимое директорий в вертикальном формате.dir— альтернативаlsс более простым интерфейсом.
Все эти программы читают значения из LS_COLORS, что делает dircolors универсальным инструментом настройки цветового вывода.
Использование в разных дистрибутивах
В дистрибутивах Debian, Ubuntu, Fedora или Arch Linux путь к системному файлу по умолчанию может отличаться. Обычно это /etc/DIR_COLORS или /etc/dir_colors.
Чтобы просмотреть стандартные настройки, выполните:
cat /etc/DIR_COLORS
или
cat /etc/dir_colors
После этого можно скопировать файл в домашнюю директорию для пользовательских изменений:
cp /etc/DIR_COLORS ~/.dircolors
Это даёт возможность гибко настроить схему под себя, не влияя на системные настройки.
Применение при старте системы
Чтобы настройки применялись автоматически при каждом запуске сессии, добавьте в .bashrc или .zshrc строку:
eval "$(dircolors -b ~/.dircolors)"
Теперь цвета будут активироваться при открытии нового терминала.
Если используется C shell, добавьте:
eval "`dircolors -c ~/.dircolors`"
в файл ~/.cshrc.
Практические примеры использования
- Проверить текущие цвета:
dircolors - Применить системную схему:
eval "$(dircolors /etc/DIR_COLORS)" - Применить пользовательскую схему:
eval "$(dircolors -b ~/.dircolors)" - Проверить эффект:
ls --color=autoПосле этого разные типы файлов будут выделены заданными цветами.
Команда dircolors в Linux — простой, но мощный инструмент, который помогает сделать работу в терминале визуально понятнее и удобнее. Настроив цвета под себя, можно существенно повысить читаемость вывода команд и снизить вероятность ошибок при работе с файлами.