Stty linux ��� ���
НАЗВАНИЕ
stty — установка характеристик терминала
ОПИСАНИЕ
Команда stty устанавливает определенные характеристики терминального ввода/вывода для устройства, являющегося стандартным вводом; команда без аргументов выдает некоторые из установленных характеристик. При этом знак ^ обозначает управляющий символ (^c — это то же самое, что CTRL+C), а сочетание ^` соответствует пустому значению. Например, обычно команда stty сообщает, что значение swtch равно ^`, однако если вызвать shl(1), то stty выдаст значение ^z.
Опциям команды stty приписан следующий смысл:
-a | Выдать значение всех установленных характеристик. |
---|---|
-g | Выдать текущие установки в формате, который может быть использован в качестве аргумента другой команды stty. |
Характеристики последней группы (ниже перечислены несколько групп) реализованы с помощью характеристик из предыдущих групп. Заметим, что многие комбинации характеристик не имеют смысла, тем не менее никакой проверки корректности не производится. Характеристики выбираются из следующего набора:
Управляющие характеристики
parenb (-parenb) Разрешить (запретить) контроль по четности.
parodd (-parodd) Установить режим проверки на нечетность (четность).
cs5 cs6 cs7 cs8 Установить размер символа [см. termio(7)].
0 Немедленное освобождение телефонной линии.
110 300 600 1200 1800 2400 4800 9600 19200 38400 Установить указанную скорость передачи, если это возможно. (Не все аппаратные интерфейсы поддерживают все скорости передачи.)
hupcl (-hupcl) Освобождать (не освобождать) линию Dataphone при закрытии линии последним процессом, открывавшим ее.
hup (-hup) То же самое, что и hupcl (-hupcl).
cstopb (-cstopb) Использовать два (один) стоп-бита на символ.
cread (-cread) Разрешить (запретить) прием символов.
clocal (-clocal) Предполагать, что линия без (с) модемного управления.
loblk (-loblk) Блокировать (не блокировать) вывод экземпляра shell’а, не являющегося текущим.
Характеристики ввода
ignbrk (-ignbrk) Игнорировать (не игнорировать) прерывание при вводе.
brkint (-brkint) При прерывании выдавать (не выдавать) сигнал SIGINT (2).
ignpar (-ignpar) Игнорировать (не игнорировать) ошибки четности.
parmrk (-parmrk) Отмечать (не отмечать) ошибки четности [см. termio(7)].
inpck (-inpck) Разрешить (запретить) контроль четности ввода.
istrip (-istrip) Обрезать (не обрезать) вводимые символы до семи бит.
inlcr (-inlcr) Преобразовывать (не преобразовывать) при вводе перевод_строки в возврат_каретки.
igncr (-igncr) Игнорировать (не игнорировать) при вводе символ возврат_каретки.
icrnl (-icrnl) Преобразовывать (не преобразовывать) при вводе возврат_каретки в перевод_строки.
iuclc (-iuclc) Преобразовывать (не преобразовывать) при вводе большие буквы в малые.
ixon (-ixon) Разрешить (запретить) управление выводом в режиме СТАРТ/СТОП. Вывод приостанавливается с помощью посылки символа ASCII DC3 (^S) и продолжается после посылки символа ASCII DC1 (^Q).
ixany (-ixany) Разрешить любому символу (только DC1) вызывать продолжение вывода.
ixoff (-ixoff) Требование, чтобы система посылала (не посылала) символы СТАРТ/СТОП в ситуации, когда очередь вводимых символов почти пуста/заполнена.
Характеристики вывода
opost (-opost) Постпроцессировать вывод (не постпроцессировать вывод; игнорировать все остальные характеристики вывода).
olcuc (-olcuc) Преобразовывать (не преобразовывать) при выводе малые буквы в большие.
onlcr (-onlcr) Преобразовывать (не преобразовывать) при выводе перевод_строки в возврат_каретки.
ocrnl (-ocrnl) Преобразовывать (не преобразовывать) при выводе возврат_каретки в перевод_строки.
onocr (-onocr) Не выводить (выводить) символы возврат_каретки, если текущая колонка 0.
onlret (-onlret) На терминале символ перевод_строки выполняет (не выполняет) функции возврата_каретки.
ofill (-ofill) Использовать для задержки заполняющие символы — задержка осуществляется с помощью посылки таких символов (использовать временную задержку).
ofdel (-ofdel) Заполняющими символами являются символы DEL (NUL).
cr0 cr1 cr2 cr3 Выбрать тип задержки для возвратов каретки [см. termio(7)].
nl0 nl1 Выбрать тип задержки для переходов к новой строке [см. termio(7)].
tab0 tab1 tab2 tab3 Выбрать тип задержки для горизонтальной табуляции [см. termio(7)].
bs0 bs1 Выбрать тип задержки для символов возврата на шаг [см. termio(7)].
ff0 ff1 Выбрать тип задержки для символов перехода к новой странице [см. termio(7)].
vt0 vt1 Выбрать тип задержки для вертикальной табуляции [см. termio(7)].
Локальные характеристики
isig (-isig) Разрешить (запретить) проверку символов на соответствие специальным управляющим символам intr, quit, swtch.
icanon (-icanon) Разрешить (запретить) канонический ввод (обработку символов erase и kill).
xcase (-xcase) Каноническое (необрабатываемое) представление верхних/нижних символов.
echo (-echo) Отображать (не отображать) каждый вводимый символ.
echoe (-echoe) Отображать (не отображать) символ erase как последовательность возврат_на_шаг-пробел-возврат_на_шаг. Заметим, что в данном режиме на многих типах терминалов с ЭЛТ забой символа выполнится правильно; однако, так как номер колонки не отслеживается, то для управляющих последовательностей, табуляций и возвратов на шаг обработка символа erase может быть выполнена неправильно.
echok (-echok) Выводить (не выводить) перевод_строки после символа kill.
lfkc (-lfkc) То же самое, что и echok (-echok); данная опция вышла из употребления.
echonl (-echonl) Отображать (не отображать) перевод_строки.
noflsh (-noflsh) Запретить (разрешить) сброс после символов intr, quit или swtch.
stwrap (-stwrap) Запретить (разрешить) в синхронной линии обрезание строк с длиной, большей 79 символов.
stflush (-stflush) Разрешить (запретить) сброс в синх ронной линии после каждого вызова write(2).
stappl (-stappl) Использовать в синхронной линии прикладной режим (использовать линейный режим).
Назначение управляющих символов
управляющий_символ c В качестве управляющего_символа (erase, kill, intr, quit, swtch, eof, ctab, min, time) использовать c. Символ ctab используется с -stappl; min и time используются вместе с -icanon [см. termio(7)]. Если перед c стоит знак ^ (экранированный от интерпретации shell’ом), то используется соответствующий CTRL-символ. Сочетание ^? интерпретируется как символ DEL, а ^- — как неопределенный символ.
line число Установить порядок передачи информации по линии связи равным числу (0
Комбинации характеристик
evenp или parity Разрешить parenb и cs7.
oddp Разрешить parenb, cs7 и parodd.
-parity, -evenp или -oddp Запретить parenb и установить cs8.
raw (-raw или cooked) Разрешить (запретить) необрабатываемый ввод и вывод (без erase, kill, intr, quit, swtch, eot и постпроцессирования вывода).
nl (-nl) Сбросить (установить) icrnl, onlcr. Кроме того, -nl сбрасывает inlcr, igncr, ocrnl и onlret.
lcase (-lcase) Установить (сбросить) xcase, iuclc и olcuc.
LCASE (-LCASE) То же самое, что и lcase (-lcase).
tabs (-tabs или tab3) Сохранить при выдаче (представить пробелами) символы табуляций.
ek Вернуть символам erase и kill подразумеваемые значения # и @.
sane Присвоить всем характеристикам некоторые разумные значения.
тип_терминала Установить все режимы соответственно типу_терминала, который может принимать одно из следующих значений: tty33, tty37, vt05, tn300, ti700 или tek.
Источник
Использование программ настройки
Рассмотрим две наиболее полезных утилиты конфигурации последовательных устройств: setserial и stty.
Команда setserial
Ядро при запуске само пытается определить настройки устройств, но из-за их большого разнообразия это не всегда возможно. Хороший пример того, где это является проблемой, внутренние модемы, о которых мы говорили ранее. UART, который они используют, имеет 16-байтовый буфер FIFO, но он похож на UART 16450. Если мы определенно не сообщаем драйверу, что этот порт является устройством UART 16550, ядро не будет использовать расширенный буфер. Еще одним примером являются четырехпотровые карты, которые позволяют поделить один IRQ между несколькими устройствами. Нам, вероятно, придется сообщать ядру, который IRQ-порт предполагается использовать, и что IRQ может быть разделен несколькими устройствами.
setserial была создана, чтобы конфигурировать последовательный драйвер во время выполнения. Команда setserial обычно выполняется при начальной загрузке из скрипта, который в одних дистрибутивах называется 0setserial , а в других rc.serial . Этот скрипт обязан инициализировать последовательный драйвер, чтобы разместить любые нестандартные или необычные последовательные аппаратные средства в машине.
Команда setserial имеет большое количество параметров. Наиболее важные из них описаны в таблице 4-1. Остальные можно найти на man-странице по setserial.
Таблица 4-1. Параметры командной строки для setserial
Параметр | Описание | ||
---|---|---|---|
port port_number |
Параметр | Назначение |
---|---|
N |