Next Previous Contents

5. Специальные файлы терминалов: /dev/tty ... и т.д.

"tty" - сокращение от "телетайп". Первые терминалы были телетайпами (типа дистанционно управляемых пишущих машинок). См. подраздел ``Телетайпы".

5.1 Терминал на последовательном порту

Компьютер рассматривает терминал как устройство на последовательном порту.

Для каждого такого терминала имеется специальный файл в каталоге (устройств) /dev. /dev/ttyS0 - специальный файл для последовательного порта, известный как COM1 в мире DOS/Windows. Чтобы посылать текст терминалу, вы можете переназначить стандартный вывод некоторой команды в командной строке соответствующему специальному файлу. Например команда "echo test> /dev/ttyS1" должна послать слово "test" на терминал, подключенный к COM2 (подразумевается, что вам разрешена запись в /dev/ttyS1). Точно так же "cat my_file > /dev/ttyS0" пошлет содержание файла my_file в COM1 (ttyS0).

В дополнение к ttyS0 (/dev/ttyS0), ttyS1, ttyS2, и т.д. ("S" означает последовательный порт) имеется также ряд устройств "cua": cua0, cua1, cua2, и т.д.

сua0 - тот же самый порт как ttyS0 и т.д. "Cu" cua означает CalloUt. Серия устройств ttyS соответствуют Posix, в то время как при использование cua можно открыть порт, про который линии управления модемом говорят, что он не готов. Это говорит о том, что ряд cua включен только для обратной совместимости, так что вы видимо должны использовать ряд ttyS.

5.2 Псевдотерминалы

Псевдо терминалы не имеют уникального физического разъема на компьютере.

Они используются для эмуляции последовательного порта. Например, если кто-то соединяется через telnet с вашим компьютером по сети, они могут подсоединиться к устройству /dev/ptyp2 (порт псевдотерминала). В XWINDOWS, программа эмуляции терминала xterm использует псевдотерминалы.

Также его используют программы любительского радио. При использовании некоторого прикладного программного обеспечения можно иметь 2 или более псевдотерминала, присоединенных на один и тот же физический последовательный порт.

Псевдотерминалы образуют пары типа ttyp3 и ptyp3. pty... - это хозяин или управляющий терминал, а tty... - подчиненный. ttyq5 - также псевдотерминал, как - ttysc (с - шестнадцатеричная цифра).

Более точно, главные псевдотерминалы - /dev/pty[p-s]n, а соответствующие подчиненные - /dev/tty[p-s]n, где n - шестнадцатеричная цифра.

5.3 Управляющие терминалы /dev/tty

/dev/tty означает управляющий терминал (если есть) для текущего процесса (процесс, который использует "/dev/tty" в команде). Чтобы выяснять, к которому tty присоединен процесс, используют команда "ps -a" в командной строке. Посмотрите столбец "tty". Для оболочки, в которой вы находитесь, /dev/tty - это терминал, который вы сейчас используете.

Напечатайте "tty" в командной строке, чтобы увидеть название терминала (см. man tty(1)). /dev/tty - нечто вроде связи с фактически именем устройства терминала с некоторыми дополнительными возможностями для программистов на C : см. man tty(4).

5.4 "Терминалы" /dev/ttyI?

? означает целое число. Одно из применений их в Linux - пакетный драйвер ISDN: isdn4linux. ttyI? является неким подобием ttyS? . Имеется также cui? , который является кое-чем вроде cua?. ttyI и cui эмулируют модемы и могут принимать команды модемов.

5.5 Консоль: /dev/tty?

В Linux монитор PC называется консолью и имеет несколько специальных файлов устройств, связанных с нею: tty0, tty1, tty2 и т.д. Когда вы входите в систему, то попадаете на tty1. Чтобы перейти на tty2 нажимите Alt-F2. tty1, tty2, и т.д. - "виртуальные терминалы" (иногда называются "виртуальными консолями"). вы можете регистрировать на различных виртуальных терминалах и таким образом осуществлять несколько различных сеансов с компьютером в одно и тоже время. вы переключаетесь между ними, используя клавиши Alt-F?, где "?" является номером виртуального терминала, на который вы хотите перейти. Консоль также известна как /dev/tty0, и сообщения системы могут идти на это устройство и отображаться на вашей консоли. Только система или root могут писать на /dev/tty0, с которым иногда компонуется /dev/console. Сообщения сстемы могут быть также записаны непосредственно по аппаратному адресу платы последовательного порта, таким минуя /dev/tty0. Для большего количества информации о консоли см. ``Консоль Linux".

5.6 Создание устройства командой mknod

В каталоге /dev находится множество специальных файлов устройств. Если нужных вам файлов нет там, то вы можете попробовать создать их командой "mknod". См. man-страницу tty(4) для информации о том, как сделать это для последовательных портов. Чтобы использовать mknod, вы должны знать major и minor числа устройства. вы можете посмотреть нужные вам числа, используя команду "ls -l" в каталоге /dev. Она отобразит major и minor числа существующих специальных файлов.


Next Previous Contents
Используются технологии uCoz