Как сделать командную строку Linux более дружелюбной

Разное > Консоль
Большинство людей, работая в командной строке,  вообще не думают об ее интерфейсе, не говоря уже о том, что его можно сделать более дружественным. Поскольку подсказки в консоли могут изменить то, как вы используете командную строку, то вот 8 наиболее интересных и полезных подсказок для организации более дружественного интерфейса.

Примечание: Чтобы применить все ниже перечисленные возможности дружественного интерфейса к вашему терминалу достаточно просто скопировать/вставить код «PS1=…» в строку терминала и нажать Enter. Чтобы эти изменения стали постоянными необходимо вставить эти строчки в конец файла /home/имя_вашей_учетки/.bashrc и сохранить его.

1. Показ Happy_Face (счастливое лицо) после каждого удачного завершения команды.

Эта функция является возможно самой забавной из списка, но в тоже время и очень полезной. Идея состоит в том, что при каждом удачном завершении операции в командной строке вы будете видеть «счастливое лицо». Если же команда выполниться с ошибкой, то соответственно «грустное лицо».

Пример:

Код:

PS1="\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\`[\u@\h:\w]\\$ "

2. Изменение цвета строки при неудачном выполнении команды.

Командная строка изменяет свой цвет, если последняя введенная вами команда вернула ошибку, а также ведет нумерацию строк в терминале (введенных команд) для быстрого их поиска.

Пример:

Код:

PS1="\[\033[0;33m\][\!]\`if [[ \$? = "0" ]]; then echo "\\[\\033[32m\\]"; else echo "\\[\\033[31m\\]"; fi\`[\u.\h: \`if [[ `pwd|wc -c|tr -d " "` > 18 ]]; then echo "\\W"; else echo "\\w"; fi\`]\$\[\033[0m\] "; echo -ne "\033]0;`hostname -s`:`pwd`\007"

3. Строка с выводом дополнительной информации (multi-line prompt).

Если вы хотите видеть в вашей командной строке большое число дополнительной информации, то эта функция для вас. Она будет выводить: время/дату, полный путь, пользователя и хост, активный терминал, количество файлов и использованное под них место.

Пример:

Код:

PS1="\n\[\033[35m\]\$(/bin/date)\n\[\033[32m\]\w\n\[\033[1;31m\]\u@\h: \[\033[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'): \[\033[1;36m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files \[\033[1;33m\]\$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\033[0m\] -> \[\033[0m\]"

4. Раскраска командной строки.

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

Пример:

Код:

PS1="\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "

5. Отображение полного пути.

Эта функция забирает сразу две строки в терминале (пустая строка + путь). Вы будете видеть полный путь вашего местоположения в командной строке и ниже имя пользователя, от которого выполняются эти команды. Если вы хотите удалить пустую линию в начале каждого вывода командной строки, то просто уберите с кода первый в нем символ «\n».

Пример:

Код:

PS1="[\[\033[32m\]\w]\[\033[0m\]\n\[\033[1;36m\]\u\[\033[1;33m\]-> \[\033[0m\]"

6. Отображение счетчика запущенных в фоне задач.

Это тоже функция двух строк, но здесь выводиться следующая информация: первая строка – это стандартное имя_пользователя@хост и полный путь, а вторая – порядковый номер команды в истории и количество выполняемых в фоне задач.

Пример:

Код:

PS1="\[\e[1;32m\]\u@\H:\[\e[m\] \[\e[1;37m\]\w\[\e[m\]\n\[\e[1;33m\]hist:\! \[\e[0;33m\] \[\e[1;31m\]jobs:\j \$\[\e[m\] "

7. Отображение информации о директории (папке).

В этой функции в первой строке отображается имя_пользователя@хост, число выполняемых задач, время/дата. Во второй – полный путь к данной директории с количеством файлов в ней и местом, которое она занимает.

Пример:

Код:

PS1="\n\[\e[30;1m\]\[\016\]l\[\017\](\[\e[34;1m\]\u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])->\[\e[30;1m\]\n\[\016\]m\[\017\]-(\[\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"

8. Упрощенный вид информации о директории (папке).

Это модификация примера №7, только здесь было убрано лишние элементы в отображении и добавлено нумерация строк в терминале.

Пример:

Код:

PS1="\n\[\e[32;1m\](\[\e[37;1m\]\u\[\e[32;1m\])-(\[\e[37;1m\]jobs:\j\[\e[32;1m\])-(\[\e[37;1m\]\w\[\e[32;1m\])\n(\[\[\e[37;1m\]! \!\[\e[32;1m\])-> \[\e[0m\]"

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

Источник: http://osmaster.org.ua/?p=980

Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>