Цветная и удобная командная строка Linux
Вы видели консоль Linux? по умолчанию консоль Черно-Белая и прямо скажем унылая
Что касается командной строки - ее можно сделать цветной, удобной и информативной.
Нам понадобятся 2 таблички
ТАБЛИЦА ЦВЕТОВ
Цвет | Код |
---|---|
Черный | 0;30 |
Синий | 0;34 |
Зеленый | 0;32 |
Циан | 0;36 |
Красный | 0;31 |
Пурпурный | 0;35 |
Коричневый | 0;33 |
Светло-серый | 0;37 |
Темно-серый | 1;30 |
Светло-синий | 1;34 |
Светло-зеленый | 1;32 |
Светло-циан | 1;36 |
Светло-красный | 1;31 |
Светло-пурпурный | 1;35 |
Желтый | 1;33 |
Белый | 1;37 |
Без цвета | 0 |
ТАБЛИЦА ДИРЕКТИВ
Директива | Значение |
---|---|
\a | ASCII символ (07) динь |
\d | дата в формате "Weekday Month Date" format (e.g., "Tue May 26") |
\D{format} | дата в формате strftime(3) |
\e | ASCII escape символ (033) |
\h | hostname первый`.' |
\H | hostname |
\j | кол-во jobs в текущей консоли |
\n | новая строка |
\r | вернуть каретку в начало |
\s | Имя консоли |
\t | время в 24-часовом формате HH:MM:SS |
\T | время в 12-часовом формате HH:MM:SS |
@ | время в 12-часовом формате + am/pm |
\A | время в 24-часовом формате HH:MM |
\u | Текущий пользователь |
\v | Версия bash |
\V | Релиз bash, version + patch level |
\w | текущая рабочая папка, $HOME с тильдой в начале |
\W | базовая папка текущей директории, $HOME с тильдой в начале |
\! | количество команд истории |
\# | номер команды |
\$ | UID = 0, ставит #, или $ |
\\ | backslash |
\[ | начало сочетания не печатаемых символов |
\] | конец сочетания не печатаемых символов |
Вид строки меняется вводом команды PS1="Набор команд для модификации строки"
В командную строку мы можем выводить различную полезную информацию. Например текущее время, папку где мы находимся, и другие вкусности.
Цвета задаются специальной комбинацией \[\033[ЦВЕТm
где цвет заменяется значением из таблицы выше
Например: \[\033[0;31m
- Красный, \[\033[0;34m
- Синий ...
Примеры вариантов конфигураций командной строки
Стандартная строка, но светло-красного цвета
PS1="\033[1;31m[\u]@\h: \033[0m"
Разберем по элементам
меняем цвет на светло-красный \033[1;31m
+ символ [
+ имя текущего пользователя \u
+ символы ]@
+ вставляем имя нашего хоста \h
+ символ :
+ пробел + отключаем раскраску, что бы все вводимое было стандартным ЧБ \033[0m
Более сложная строка
PS1="\[\033[0;33m[\t] \033[1;32m\u\[\033[m@\[\033[1;35m\h:\ [\033[33;1m\]\w\[\033[m$"
Разберем по элементам
Ставим коричневый цвет \[\033[0;33m
+ символ [
+ текущее время \t
+ символ ]
+ пробел + ставим светло зеленый цвет \033[1;32m
имя текущего пользователя \u
+ убираем цвет \[\033[m
+ символ @ + ставим светло-пурпурный цвет \[\033[1;35m
+ вставляем имя нашего хоста \h
+ символ :
+ меняем цвет на желтый \[\033[33m\]
текущий путь \w
+ отключаем цвет \[\033[m\]
+ символ $
Строка с обработчиками
Усложним прошлый пример
Теперь добавим в конце символ $
, который будет изменять цвет в зависимости от того была ли ошибка при выполнении прошлой команды
PS1="\[\033[0;33m[\t] \033[1;32m\u\[\033[m@\[\033[1;35m\h:\033[33;1m\]\w\[\033[m\`if [ \$? = 0 ]; then echo \[\e[32m\] \$\[\e[0m\]; else echo \[\e[31m\] \$\[\e[0m\]; fi\` "
Теперь не составит труда, имея обе таблицы сделать себе именно такую консоль, как хочется
После того, как наиграетесь - запишите эту строку в файл ~/.bashrc
и она сразу будет установлена после перезапуска системы.
Ну и напоследок вкусняшка! http://bashrcgenerator.com/ онлайн генератор PS1
строки