Как сделать командную строку 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 |
||
Комментарии | ||