Управление консолью Linux
Источник: http://gazette.linux.ru.net/
Автор: (C) Алексей
Мичурин
Конечно, администрировать сервер -- гораздо более сложное и полезное
дело, чем настройка консоли. Но про сложные и полезные вещи уже и без меня
много написано, а про консоль я что-то нигде не видел, а иногда очень
хочется, чтобы что-то было цветным, и динамик не пищал как резаный. Вот и
решил я написать этот рассказик. Здесь далеко не все возможности. Более
подробно смотрите man 4 console_codes.
Управление звуком
|
\007 |
издать звук |
|
\033[10;#] |
установить частоту звукового сигнала в
герцах |
|
\033[11;#] |
установить продолжительность звукового сигнала в
миллисекундах |
Допускается объединение двух последних управляющих последовательностей.
Например \033[10;55]\033[11;30] может быть заменено эквивалентной
последовательностью \033[10;55;11;30].
Пример:
#!/bin/sh
# скрипт устанавливает продолжительность и
частоту
# звукового сигнала равными 5000Hz и 200ms,
соответственно;
# и издаёт звуковой сигнал
#
echo -en
"\033[10;5000;11;200]\7"
Управление цветом
|
\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 CAUTION \33[0m"
Пример:
#!/bin/sh
#
# скрипт запускает копию командного
интерпретатора 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
#
# скрипт выводит на экран список
устройств и на его фоне
# печатает строку " It is devices list
"
#
ls -l /dev
echo -en "\033[12A\033[30G\033[1;5;31;41m It is
devices list \033[0m\033[12E"
Работа с палитрой
|
\033]Pnrrggbb |
Изменяет палитру. n -- номер цвета;
rr, gg и bb -- значения RGB-компонент в
шестнадцатеричной форме |
|
\033]R |
Восстанавливает палитру, принятую по
умолчанию |
Пример:
#!/bin/sh
#
# скрипт делает фон красноватым
#
такой фон удобно иметь на консоли root'a;
#
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;My Window\007\033]1;My Icon\007"
Этот материал опубликован с любезного разрешения автора

Реклама в журнале