Ответы:
«tty» первоначально означало «телетайп», а «pty» означает «псевдотелептик».
В UNIX / dev / tty * - это любое устройство, которое действует как «телетайп», то есть терминал. (Называется телетайп, потому что это было то, что мы имели для терминалов в те мрачные дни.)
Pty - это псевдоточка, запись устройства, которая действует как терминал для процесса чтения и записи, но управляется чем-то другим. Они впервые появились (насколько я помню) для X Window и screen и тому подобного, где вам нужно что-то, что действует как терминал, но может использоваться из другой программы.
Ctrl-Alt-F{1..6}
они подключены /dev/tty{1..6}
. Консоль Linux не является физическим терминалом, но она подключена к ttyN
(а не к ptyN
). Я что-то здесь упускаю?
Tty - это терминал (он обозначает телетайп - в исходных терминалах использовался линейный принтер для вывода и клавиатура для ввода!). Терминал - это просто устройство пользовательского интерфейса, которое использует текст для ввода и вывода.
Pty - это псевдотерминал - это программная реализация, которая выглядит для присоединенной программы как терминал, но вместо того, чтобы напрямую связываться с «реальным» терминалом, она передает вход и выход другой программе.
Например, когда вы входите в систему и запускаете ssh ls
, ls
команда отправляет свой вывод на псевдотерминал, другая сторона которого подключена к демону SSH.
*nix
основе операционной системы создаются эти псевдо-терминалы.
sshd
и xterm
два типичных примера.
Если вы запустите команду mount без аргументов командной строки, которая отображает файловые системы, смонтированные в вашей системе, вы заметите строку, которая выглядит примерно так: ни один в / dev / pts типа devpts (rw, gid = 5, mode = 620) Это указывает на то, что особый тип файловой системы, devpts, смонтирован в / dev / pts. Эта файловая система, которая не связана с каким-либо аппаратным устройством, является «волшебной» файловой системой, которая создается Ядро Linux. Это похоже на файловую систему / proc
Как и каталог / dev, / dev / pts содержит записи, соответствующие устройствам. Но в отличие от / dev, который является обычным каталогом, / dev / pts - это специальный каталог, который динамически создается ядром Linux. Содержимое каталога меняется со временем и отражает состояние работающей системы. Записи в / dev / pts соответствуют псевдо-терминалам (или псевдо-TTY, или PTY).
Linux создает PTY для каждого нового окна терминала, которое вы открываете, и отображает соответствующую запись в / dev / pts. Устройство PTY действует как оконечное устройство - оно принимает ввод с клавиатуры и отображает вывод текста из программ, которые в нем работают. , PTY пронумерованы, а номер PTY - это название соответствующей записи в / dev / pts.
Например, если номер PTY нового окна терминала равен 7, вызовите эту команду из другого окна:% echo 'I am a virtual di'> / dev / pts / 7 Вывод отобразится в новом окне терминала.
tty
Является физической т erminal- т Элета у ре порта на компьютере ( как правило, последовательный порт).
Слово телетайп - это сокращение от телеграфной пишущей машинки или устройства телетайпа 1930-х годов - само по себе электромагнитное устройство, которое заменило машины кодирования телеграфа 1830-х и 1840-х годов.
Телетайп - телетайп 1930-х годов
pty
Является р seudo- т Эля ти ре порта обеспечивается компьютером ядра операционной системы для подключения программ эмуляции терминалов, таких как SSH, XTerm, или экран.
Терминал - это просто пользовательский интерфейс компьютера, который использует текст для ввода и вывода.
Они используют р seudo- т Эль ти ре портов , однако их имена и реализации отклонились немного.
Linux монтирует специальную файловую систему devpts в / dev (предположительно, 's' означает s erial), которая создает соответствующую запись /dev/pts
для каждого нового окна терминала, которое вы открываете, например/dev/pts/0
macOS / FreeBSD также используют файловую структуру / dev, однако они используют TTY
соглашение о присвоении номеров ttys
для каждого нового окна терминала, которое вы открываете, например/dev/ttys002
В Microsoft Windows по- прежнему существует концепция LPT
порта для линейных принтерных терминалов в командной оболочке для вывода на принтер.