|
Поиск по сайту:
Главная
О проекте
Web-мастеру
HTML & JavaScript
SSI
Perl
PHP
XML & XSLT
Unix Shell
MySQL
Безопасность
Хостинг
Другое
|
|
Глава 13. Команды системного администрирования
Терминалы
- tty
-
Выводит имя терминала текущего пользователя. Обратите
внимание: каждое отдельное окно xterm считается отдельным
терминалом.
bash$ tty
/dev/pts/1
- stty
-
Выводит и/или изменяет настройки терминала. Эта
сложная команда используется в сценариях для управления
поведением терминала.
Пример 13-2. Установка символа
"забоя"
#!/bin/bash
# erase.sh: Использование команды "stty" для смены клавиши "забоя" при чтении ввода.
echo -n "Как Вас зовут? "
read name # Попробуйте стереть последние символы при вводе.
# Все работает.
echo "Вас зовут $name."
stty erase '#' # Теперь, чтобы стереть символ нужно использовать клавишу "#".
echo -n "Как Вас зовут? "
read name # Попробуйте стереть последние символы при вводе с помощью "#".
echo "Вас зовут $name."
exit 0
Пример 13-3. невидимый пароль: Отключение
эхо-вывода на терминал
#!/bin/bash
echo
echo -n "Введите пароль "
read passwd
echo "Вы ввели пароль: $passwd"
echo -n "Если кто-нибудь в это время заглядывал Вам через плечо, "
echo "то теперь он знает Ваш пароль."
echo && echo # Две пустых строки через "and list".
stty -echo # Отключить эхо-вывод.
echo -n "Введите пароль еще раз "
read passwd
echo
echo "Вы ввели пароль: $passwd"
echo
stty echo # Восстановить эхо-вывод.
exit 0
Перехват нажатия на клавиши с помощью stty.
Пример 13-4.
#!/bin/bash
# keypress.sh: Определение нажатых клавиш.
echo
old_tty_settings=$(stty -g) # Сохранить прежние настройки.
stty -icanon
Keypress=$(head -c1) # или $(dd bs=1 count=1 2> /dev/null)
# для других, не GNU, систем
echo
echo "Была нажата клавиша \""$Keypress"\"."
echo
stty "$old_tty_settings" # Восстановить прежние настройки.
# Спасибо, Stephane Chazelas.
exit 0
См. также Пример 9-3.
- tset
-
Выводит или изменяет настройки терминала. Это более
слабая версия stty.
bash$ tset -r
Terminal type is xterm-xfree86.
Kill is control-U (^U).
Interrupt is control-C (^C).
- setserial
-
Настройка параметров последовательного порта. Эта
команда должна запускаться пользователем, обладающим
привилегиями root. Эту команду можно встретить в
сценариях настройки системы.
# Взято из /etc/pcmcia/serial :
IRQ=`setserial /dev/$DEVICE | sed -e 's/.*IRQ: //'`
setserial /dev/$DEVICE irq 0 ; setserial /dev/$DEVICE irq $IRQ
- getty, agetty
-
Программа getty или
agetty запускается
процессом init и обслуживает процедуру входа пользователя
в систему. Эти команды не используются в сценариях.
- mesg
-
Разрешает или запрещает доступ к терминалу текущего пользователя командой write.
|
Наверное это очень неприятно, когда, во время работы над текстовым файлом, в окне терминала, прямо среди текста, вдруг появляется предложение заказать пиццу. Поэтому, при работе в многопользовательской системе, вам наверняка захочется отключить доступ к своему терминалу.
|
- wall
-
Имя этой команды -- аббревиатура от "write
all", т.е., передать сообщение всем
пользователям на все терминалы в сети. Это, в первую
очередь, инструмет администратора, который можно
использовать, например, для оповещения всех пользователей
о предстоящей, в ближайшее время, перезагрузке системы
(см. Пример 17-2).
bash$ wall System going down for maintenance in 5 minutes!
Broadcast message from bozo (pts/1) Sun Jul 8 13:53:27 2001...
System going down for maintenance in 5 minutes!
|
Если доступ к терминалу был закрыт командой mesg, то сообщение на этом терминале выводиться не будет.
|
- dmesg
-
Выводит все сообщения, выдаваемые системой во время
загрузки на stdout. Очень
полезная утилита для отладочных целей. Вывод
dmesg может
анализироваться с помощью grep,
sed или awk
внутри сценария.
bash$ dmesg | grep hda
Kernel command line: ro root=/dev/hda2
hda: IBM-DLGA-23080, ATA DISK drive
hda: 6015744 sectors (3080 MB) w/96KiB Cache, CHS=746/128/63
hda: hda1 hda2 hda3 < hda5 hda6 hda7 > hda4
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|
|
|