Честно говоря, мне было очень приятно читать письмо, в котором один из
читателей газеты сказал, что ему больше нравится консоль, а не этот
навороченный графический интерфейс KDE.
Во многом я с ним согласен:
линуксовая консоль является очень мощным инструментом. Даже работая в KDE, я
всегда держу запущенной терминалку, так как большинство команд я задаю в
ней. Для меня проще набрать команду запуска смотрелки картинок из
консоли, набрав в параметре имя файла для просмотра, чем тянуться за мышкой,
искать в меню иконку вьюера, а потом ковыряться в его интерфейсе полчаса, пока
я доберусь до нужного файла. А скриптовый язык шелла? Это вообще
мощнейший инструмент, годящийся для реализации очень многих повседневных
задач. 'Да, все это классно, - скажете вы, - может, консоль и круто, но как
надоедает глядеть на черно-белые сообщения и слушать визг спикера'. А
ведь мы можем озвучить и раскрасить вашу консоль! Так давайте и займемся этим
немедленно! Управление звуком. Для этого используются следующие коды: -
\007 - издать звук; - \033[10;#] - установить частоту звукового сигнала в
герцах; - \033[11;#] - установить продолжительность звукового сигнала в
миллисекундах. Допускается объединение двух последних управляющих
последовательностей. Например, \033[10;55]\033[11;30] может быть заменено
эквивалентной последовательностью \033[10;55;11;30]. Для примера, наберите
и выполните следующий скрипт: #!/bin/sh echo -en
"\033[10;5000;11;200]\7" Скрипт устанавливает продолжительность и частоту
звукового сигнала равными 5000Hz и 200ms, соответственно, и издает звуковой
сигнал. Т.е. для любого вашего скрипта, события, команды вы можете теперь
задать свой особенный звук. Теперь займемся раскраской. Коды управления
цветом: - \033[0m - все атрибуты по умолчанию; - \033[1m - жирный шрифт
(интенсивный цвет); - \033[2m - полуяркий цвет (темно-серый, независимо от
цвета); - \033[4m - выделение (ярко-белый, независимо от цвета); -
\033[5m - мигающий; - \033[7m - реверсия (знаки приобретают цвет фона, а
фон - цвет знаков); - \033[22m - установить нормальную интенсивность; -
\033[24m - отменить подчеркивание; - \033[25m - отменить мигание; -
\033[27m - отменить реверсию; - \033[30 - черный цвет знаков; - \033[31
- красный цвет знаков; - \033[32 - зеленый цвет знаков; - \033[33 -
коричневый цвет знаков; - \033[34 - синий цвет знаков; - \033[35 -
фиолетовый цвет знаков; - \033[36 - цвет морской волны знаков; - \033[37
- серый цвет знаков; - \033[40 - черный цвет фона; - \033[41 - красный
цвет фона; - \033[42 - зеленый цвет фона; - \033[43 - коричневый цвет
фона; - \033[44 - синий цвет фона; - \033[45 - фиолетовый цвет
фона; - \033[46 - цвет морской волны фона; - \033[47 - серый цвет
фона. Допускается объединение этих управляющих
последовательностей. Например, \033[1m\033[5m\033[ 36m может быть
заменено эквивалентной последовательностью \033[1;5;36m. Пример, скрипт
выводит на экран сообщение с использованием цвета: #!/bin/sh echo -en
"\33[37;1;41m WARNING \33[0m" Еще пример - скрипт запускает копию
командного интерпретатора sh с цветным приглашением: #!/bin/sh export
PS1="\[\033[1;30m\][\[\033[0m\]\t\[\033[1;30m\];\ \[\033[0m\]\W\[\033[1;30m\]]\[\033[36;1m\]|\[\033[0m\]
" echo "Now runing a new copy of shell width color prompt" echo -en "use
\033[1;36mexit\033[0m command or" echo -e "\033[1;36m^D\033[0m to return
back" sh Обратите внимание на то, что управляющие последовательности
заключены в скобки "\[" и "\]". Это сделано для того, чтобы shell не учитывал
их при оценке длины строки. В противном случае длинные строки будут
переноситься неверно. Управление положением курсора. Управляющие коды: -
\033[#A - передвинуть курсор вверх на # строк; - \033[#B - передвинуть
курсор вниз на # строк; - \033[#С - передвинуть курсор вправо на #
столбцов; - \033[#D - передвинуть курсор влево на # столбцов; - \033[#E
- передвинуть курсор вниз на # строк и поставить в начало строки; - \033[#F
- передвинуть курсор вверх на # строк и поставить в начало строки; -
\033[#G - переместить курсор в указанный столбец текущей строки; -
\033[#;#H - задает абсолютные координаты курсора (строка, столбец). Пример.
Следующий скрипт выводит на экран список устройств и на его фоне печатает
строку "Это список устройств": #!/bin/sh ls -l /dev echo -en
"\033[12A\033[30G\033[1;5;31;41m Это список устройств
\033[0m\033[12E"
Работа с палитрой. Управляющие коды: -
\033]Pnrrggbb - изменяет палитру; n - номер цвета; rr,gg и bb - значения
RGB-компонент в шестнадцатеричной форме; - \033]R - восстанавливает
палитру, принятую по умолчанию. Пример. Следующий скрипт делает фон
красноватым, такой фон можно сделать для root'овской
консоли: #!/bin/sh echo -en "\033]0550000" Работа с виртуальными
консолями. Здесь применяется один код: \033[12;#] - сделать текущей консоль с
указанным номером. Пример. Следующий скрипт делает текущей консоль, на
которой запущена самая прожорливая задача: #!/bin/sh ps aOv | tail -n1 |
(read vpid vtty vother echo -en "\033[12;${vtty}]") Работа с терминалкой
(xterm). Управляющие коды: - \033]0;text\007 - присваивает имя окну и
иконке; - \033]1;text\007 - присваивает имя иконке; - \033]2;text\007 -
присваивает имя окну. Пример. Этот скрипт присваивает имена окну и
иконке: #!/bin/sh echo -en "\033]2;Мое любимое окно\007\033]1;Моя
любимая иконка\007" Вот таким, собственно, образом вы можете разнообразить
свою работу. Приятного времяпрепровождения в Linux и чистой вам
консоли!:)
X-Stranger
Литература по Linux
|