Вверх

Как изменить цвета каталогов и файлов в команде ls

4 февраля 2021 |

Как изменить цвета каталогов и файлов в команде ls

Если вы выполнили команду ls в Bash, вы заметите, что каталоги и файлы, которые вы видите, раскрашены в соответствии с их типом. Вы можете настроить свою собственную цветовую схему, чтобы выбрать разные цвета текста, цвета фона и форматирование, например жирный шрифт и подчеркивание.

Как это работает

Цветовая схема хранится в переменной LS_COLORS.Чтобы просмотреть текущую цветовую схему, вы можете указать Bash напечатать содержимое переменной:

echo $ LS_COLORS

Вы увидите длинный список типов файлов и числовых кодов. Мы объясним, как создать такой список самостоятельно.

Перед тем, как поиграться с этим, мы рекомендуем сохранить текущее содержимое переменной LS_COLORS в другую переменную. .Это позволит вам быстро восстановить настройки по умолчанию без выхода из оболочки и повторного входа в систему или закрытия и повторного открытия окна терминала.Чтобы сохранить текущее содержимое переменной LS_COLORS в новую переменную с именем ORIGINAL, запустите:

ORIGINAL = $ LS_COLORS

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

LS_COLORS = $ ORIGINAL

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

Как установить собственные цвета

Переменная LS_COLORS содержит список типов файлов вместе с соответствующими цветовыми кодами. Список по умолчанию длинный, потому что в нем указаны разные цвета для разных типов файлов.

Давайте начнем с базового примера, чтобы продемонстрировать, как это работает. Допустим, мы хотим изменить цвет каталогов с полужирного синего по умолчанию на полужирный красный.Для этого мы можем запустить следующую команду:

LS_COLORS = «di = 1,31»

Бит di = 1,31 сообщает ls, что каталоги (di) выделены (=) жирным шрифтом (1,) красным ( 31).

Однако это всего лишь очень простая переменная LS_COLORS, которая определяет каталоги как один цвет и оставляет любой другой тип файла цветом по умолчанию. Допустим, мы хотим сделать файлы с расширением .desktop также подчеркнутым голубым цветом.Для этого мы можем запустить следующую команду:

LS_COLORS = «di = 1: 31: *. Desktop = 4,36»

Это говорит ls, что каталоги (di) выделены (=) жирным шрифтом (1,) красный (31) и (:) любой файл, заканчивающийся на .desktop (* .desktop), (=) подчеркнут (4,) голубой (36).

Это процесс создания вашего списка типов файлов и цветов. Укажите любое количество файлов в форме filetype = color, разделяя их двоеточием (:).

Чтобы составить собственный список, вам просто нужно знать список цветовых кодов и кодов типов файлов. При этом используются те же числовые цветовые коды, которые вы используете при изменении цвета в командной строке Bash.

Вот список цветовых кодов для текста переднего плана:

  • Черный: 30
  • Синий: 34
  • Голубой: 36
  • Зеленый: 32
  • Фиолетовый: 35
  • Красный: 31
  • Белый: 37
  • Желтый: 33

Например, поскольку желтый текст имеет цветовой код 33, вы должны использовать di = 33, чтобы сделать каталоги желтыми.

Вот список атрибутов цвета текста:

  • Обычный текст: 0
  • Полужирный или светлый текст: 1 (Это зависит от эмулятора терминала.)
  • Тусклый текст: 2
  • Подчеркнутый текст: 4
  • Мигающий текст: 5 (Это не работает в большинстве эмуляторов терминала.)
  • Перевернутый текст: 7 (инвертирует цвета переднего плана и фона, поэтому вы увидите черный текст на белом фоне, если текущий текст — белый текст на черном фоне.)
  • Скрытый текст: 8

При указании атрибута или нескольких цветовых кодов разделите список кодов символом точки с запятой (,).Вам не нужно указывать 0 для обычного текста, так как обычный текст используется, если вы не указываете здесь атрибут.

Например, поскольку жирный текст имеет цветовой код 1, а желтый текст — цветовой код 33 , вы должны использовать di = 1,33, чтобы сделать каталоги полужирным желтым. Вы также можете указать более одного атрибута. Например, вы можете использовать di = 1,4,33, чтобы выделить каталоги жирным шрифтом и подчеркнутым желтым цветом.

Вот список кодов цветов фона:

  • Черный фон: 40
  • Синий фон: 44
  • Голубой фон: 46
  • Зеленый фон: 42
  • Фиолетовый фон: 45
  • Красный фон: 41
  • Белый фон: 47
  • Желтый фон: 43

Например, поскольку синий фон имеет цветовой код 44, вы должны использовать di = 44, чтобы использовать синий фон для справочников.Вы также можете комбинировать код цвета фона, код цвета переднего плана и столько атрибутов, сколько захотите. Например, di = 1,4,33,44 даст вам жирный, подчеркнутый желтый текст на синем фоне.

Вот список кодов типов файлов:

  • Каталог: di
  • Файл: fi
  • Символическая ссылка: ln
  • Именованный канал (FIFO): pi
  • Socket: so
  • Блочное устройство: bd
  • Символьное устройство: cd
  • Orphan Symbolic Link (указывает на файл, который больше не существует): или
  • Missing File (отсутствующий файл, на который указывает символьная ссылка-сирота): mi
  • Исполняемый файл (имеет разрешение «x»): ex
  • *.extension: любой файл, заканчивающийся указанным вами расширением. Например, используйте * .txt для файлов, заканчивающихся на .txt, * .mp3 для файлов, заканчивающихся на .mp3, * .desktop для файлов, заканчивающихся на .desktop, или что-нибудь еще, что вам нравится. Вы можете указать столько различных расширений файлов, сколько захотите.

Укажите столько разных типов кодов типов файлов с любым количеством разных цветов, сколько хотите, разделенных символом:. Повторите этот процесс, чтобы собрать переменную LS_COLORS.

Например, допустим, вы хотите использовать полужирный фиолетовый текст для каталогов, подчеркнутый красный текст для исполняемых файлов и полужирный зеленый текст на красном фоне для файлов .mp3. Собрав вместе коды типов файлов и цветовые коды из приведенных выше списков, вы получите:

LS_COLORS = «di = 1,35: ex = 4,31: *. Mp3 = 1,32,41»

Как установить новые цвета по умолчанию

Теперь у вас есть настраиваемая переменная LS_COLORS, которая работает в текущем сеансе Bash.Однако вы, вероятно, захотите сделать его постоянным, чтобы он автоматически использовался всякий раз, когда вы запускаете новый сеанс Bash без необходимости помнить об этом.

Вы можете установить свою пользовательскую переменную LS_COLORS — и любую другую переменную Bash, которая вам нравится — с помощью добавив его в файл .bashrc вашей учетной записи. Этот файл находится в ~ / .bashrc. Итак, если ваше имя пользователя — bob, вы найдете его по адресу /home/bob/.bashrc. Есть и другие способы установки переменных среды, но это простой.

Сначала откройте этот файл в предпочитаемом вами текстовом редакторе. Мы будем использовать здесь в качестве примера nano, но вы можете использовать vi, emacs или что угодно еще.

nano ~ / .bashrc

Добавьте свой собственный Переведите переменную LS_COLORS в новую строку в конце файла, например:

LS_COLORS = «di = 1,35: ex = 4,31: *. Mp3 = 1,32,41»

Сохраните файл и выйти. В nano нажмите Ctrl + O, затем нажмите Enter для сохранения, затем нажмите Ctrl + X для выхода.

Каждый раз, когда вы запускаете новый сеанс Bash, Bash будет читать файл .bashrc и автоматически устанавливать вашу переменную LS_COLORS. Чтобы изменить цвета в будущем, вернитесь в файл .bashrc и отредактируйте строку LS_COLORS.

Вы также можете просто удалить строку LS_COLORS =, которую вы добавили в файл .bashrc, чтобы снова использовать цвета по умолчанию. Если вы не установите значение LS_COLORS, Bash будет использовать цвета по умолчанию.

Как изменить цвета каталогов и файлов в команде ls


Напишите пару строк:

Ваш адрес email не будет опубликован.

*
*