Цветной терминал в Linux

Всё ниженаписанное я производил на ubuntu, однако полагаю, что то же самое вполне прокатит и на другие системах.

Подразумевается, что используется оболочка bash. У каждого пользователя в его домашней папке есть файлик .bashrc, в котором указаны индивидуальные настройки для консоли. А в /etc/skel находится .bashrc, который действует на всех новых пользователей.

В этом файле необходимо раскомментировать строчку (убрать # перед строкой):

force_color_prompt=yes

Теперь терминал будет отображать цвета. Следует помнить, что параметры заработают только в новом окне терминала.

Теперь необходимо найти строчку, в которой назначается вид строки приглашения, и внести необходимые изменения:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

В этой строке используются следующие переменные: \u — имя пользователя, \h — имя хоста, \w — путь. Имя пользователя и имя хоста отображаются ярким зелёным цветом: 01;32, двоеточие отображается цветом по умолчанию: 00, путь отображается ярким синим цветом: 01;34, а всё остальное — снова цветом по умолчанию.

Мы можем подсветить вывод, как нам хочется. Вот таблица кодов, которая поможет в этом:

Управление:
00 — Сбросить на значение по умолчанию
01 — повысить яркость
02 — понизить яркость
04 — подчеркнуть
05 — нормальная яркость
07 — инвертировать
08 — скрыть
Цвета текста и фона:
30 - черный текст
31 - красный текст
32 - зеленый текст
33 - жёлтый текст
34 - синий текст
35 - фиолетовый цвет
36 - голубой цвет
37 - белый цвет
40 - черный фон
41 - красный фон
42 - зеленый фон
43 - жёлтый фон
44 - синий фон
45 - фиолетовый фон
46 - голубой фон
47 - белый фон

К примеру, чтобы видеть, на какой хост я подключился (чтобы это бросалось в глаза), я подсветил имя пользователя жёлтым, а имя хоста красным, остальное сделал зелёным:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;33m\]\u\[\033[32m\]@\[\033[01;31m\]\h\[\033[32m\]:\[\033[01;34m\]\w\[\033[00;32m\]\$ '

Для режима работы под рутом немного поменял цвета, опять же, чтобы бросалось в глаза:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[32m\]@\[\033[01;33m\]\h\[\033[32m\]:\[\033[01;34m\]\w\[\033[00;32m\]\$ '