Цвета в терминале
Как работу в терминале сделать удобнее? Нужно добавить в неё краски! В этой статье я покажу как сделать цветное двухстрочное bash приглашение (PS1), как добавить подсветку синтаксиса в редактор nano и как добавить цвета для обычных Linux команд.
Цветное приглашение (PS1)🔗︎
Как показала практика, использование двухстрочного варианта приглашения bash является наиболее удобным решением. Появляется целая строка, в которую можно поместить любую необходимую вам информацию, да и любая вложенность текущей директории не будет причинять неудобств в работе.
Мой код формирования PS1 (файл ~/.bashrc
):
INPUT_COLOR="\[\033[0m\]"
DIR_COLOR="\[\033[0;33m\]"
DIR="\w"
LINE_VERTICAL="\342\224\200"
LINE_CORNER_1="\342\224\214"
LINE_CORNER_2="\342\224\224"
LINE_COLOR="\[\033[0;37m\]"
USER_NAME="\[\033[0;32m\]\u"
SYMBOL="\[\033[0;32m\]$"
if [[ ${EUID} == 0 ]]; then
USER_NAME="\[\033[0;31m\]\u"
SYMBOL="\[\033[0;31m\]#"
fi
PS1="$LINE_COLOR$LINE_CORNER_1$LINE_VERTICAL $USER_NAME $DIR_COLOR$DIR \n$LINE_COLOR$LINE_CORNER_2$LINE_VERTICAL $SYMBOL $INPUT_COLOR"
Для более простой модификации в будущем, я решил формировать свой PS1 таким образом, с разделением на разные участки.
Цветной nano🔗︎
Для быстрого редактирования конфигурационных файлов многие (и я в том числе) используют редактор nano
. По умолчанию в нём нет никакой подсветки синтаксиса, что, иногда, делает процесс чтения затруднительным. К счастью, подсветку синтаксиса можно легко добавить (команды предназначены для Arch Linux).
Установите пакет nano-syntax-highlighting-git
из AUR.
$ yaourt -S nano-syntax-highlighting-git
Не забудьте скопировать пример конфигурационного файла в ~/.nanorc
.
$ cat /usr/share/nano-syntax-highlighting/nanorc.sample | xargs -0 echo >> ~/.nanorc
Цветные команды🔗︎
Во первых, если вы используете sudo
, вашему .bashrc
обязательно понадобится это:
alias sudo='sudo '
Эта команда даёт bash понять, что после sudo есть слово, которое тоже следует проверить.
Затем идут стандартные alias команды для используемых программ:
alias ls='ls --color=always'
alias dmesg='dmesg --color=always'
alias grep='grep --color=always'
alias gcc='gcc -fdiagnostics-color=always'
alias pacman='pacman --color=always'
alias dir='dir --color=always'
alias diff='diff --color=always'
Подсветка для root пользователя🔗︎
Также следует добавить символическую ссылку на ваш .bashrc
для root
пользователя (username
замените на имя своего пользователя):
# ln -s /home/username/.bashrc /root/.bashrc
Аналогично для .nanorc
:
# ln -s /home/username/.nanorc /root/.nanorc