ls
команды в Bash, вы заметите, что каталоги и файлы, которые вы видите, раскрашены в соответствии с их типом. Вы можете настроить свою собственную цветовую схему, чтобы выбрать различные цвета текста, цвета фона и форматирование, как жирный и подчеркнутый.
Как это работает
Цветовая схема хранится в переменной LS_COLORS. Чтобы просмотреть текущую цветовую схему, вы можете указать Bash напечатать содержимое переменной:
echo $LS_COLORS
Вы увидите длинный список типов файлов и числовых кодов. Мы объясним, как создать такой список самостоятельно.
ORIGINAL=$LS_COLORS
LS_COLORS=$ORIGINAL
Ваши изменения всегда временные, пока вы не отредактируете файл, чтобы сделать их новыми значениями по умолчанию. Вы можете всегда выходить из системы и подписываться, закрывать и снова открывать окно терминала, чтобы восстановить цвета по умолчанию. Однако это облегчает это с помощью одной быстрой команды.
Как установить пользовательские цвета
Переменная LS_COLORS содержит список типов файлов вместе с соответствующими цветовыми кодами. Список по умолчанию длинный, поскольку он задает разные цвета для нескольких типов файлов.
Давайте начнем основной пример, чтобы продемонстрировать, как это работает. Предположим, мы хотим изменить цвет каталогов от выделенного жирного синего до полужирного красного. Мы можем выполнить следующую команду:
LS_COLORS='di=1;31'
di=1;31
бит говорит
ls
что каталоги (
di
) являются (
=
) смелый (
1;
) красный (
31
).
LS_COLORS='di=1:31:*.desktop=4;36'
Это говорит
ls
что каталоги (
di
) являются (
=
) смелый (
1;
) красный (
31
) а также (
:
) любой файл, заканчивающийся на.desktop (
*.desktop
) является (
=
) подчеркнули (
4;
) голубой (
36
).
Чтобы собрать свой собственный список, вам просто нужно знать список цветовых кодов и кодов типов файлов. Это использует те же числовые цветовые коды, которые вы используете при изменении цвета в своем приглашении Bash.
Вот список цветовых кодов для текста переднего плана:
- Черный: 30
- Синий: 34
- Голубой: 36
- Зеленый: 32
- Фиолетовый: 35
- Красный: 31
- Белый: 37
- Желтый: 33
Например, поскольку желтый текст - это цветовой код 33, вы должны использовать
di=33
чтобы сделать каталоги желтыми.
- Обычный текст: 0
- Полужирный или светлый текст: 1 (зависит от эмулятора терминала).
- Dim Текст: 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
- Гнездо: так
- Блокировка устройства: bd
- Устройство символов: cd
- Сиротская символьная ссылка (указывает на файл, который больше не существует): или
- Отсутствует файл (отсутствует файл, на который указывает символьная ссылка для сирот): 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='di=1;35:ex=4;31:*.mp3=1;32;41'
Сохраните файл и выйдите. В nano нажмите Ctrl + O, а затем нажмите Enter для сохранения, затем нажмите Ctrl + X, чтобы выйти.
Вы также можете просто удалить
LS_COLORS=
вы добавили в свой.bashrc-файл, чтобы снова использовать цвета по умолчанию. Если вы не установили значение LS_COLORS, Bash будет использовать цвета по умолчанию.