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