Odpowiedzi:
„tty” pierwotnie oznaczało „teletype”, a „pty” oznacza „pseudo-teletype”.
W systemie UNIX / dev / tty * jest dowolnym urządzeniem, które działa jak „typ teletekstu”, tj. Terminalem. (Nazywany teletypem, ponieważ to właśnie mieliśmy dla terminali w tych przygnębionych dniach).
Pty to pseudotty, wpis urządzenia, który działa jak terminal do odczytu i zapisu procesu, ale zarządzany jest przez coś innego. Po raz pierwszy pojawiły się (jak pamiętam) dla X Window i ekranu i tym podobnych, gdzie potrzebowałeś czegoś, co działało jak terminal, ale mogło być użyte z innego programu.
Ctrl-Alt-F{1..6}
i są z nimi połączone /dev/tty{1..6}
. Konsola Linux nie jest fizycznym terminalem, ale jest podłączona do ttyN
(nie do ptyN
). Czy coś mi umyka?
Tty jest terminalem (oznacza teletyp - oryginalne terminale używały drukarki liniowej do drukowania i klawiatury do wprowadzania!). Terminal to po prostu urządzenie interfejsu użytkownika, które wykorzystuje tekst do wprowadzania i wysyłania.
Pty to pseudo-terminal - to implementacja oprogramowania, która wydaje się dołączonemu programowi jak terminal, ale zamiast komunikować się bezpośrednio z „prawdziwym” terminalem, przekazuje dane wejściowe i wyjściowe do innego programu.
Na przykład, gdy wpiszesz ssh na maszynie i uruchomisz ls
, ls
polecenie wysyła dane wyjściowe do pseudo-terminala, którego druga strona jest podłączona do demona SSH.
*nix
system operacyjny tworzy pseudo terminale.
sshd
i xterm
są dwoma typowymi przykładami.
Jeśli uruchomisz polecenie mount bez argumentów wiersza polecenia, które wyświetla systemy plików zamontowane w systemie, zauważysz linię wyglądającą mniej więcej tak: none on / dev / pts type devpts (rw, gid = 5, mode = 620) Wskazuje to, że specjalny typ systemu plików, devpts, jest zamontowany w / dev / pts. Ten system plików, który nie jest powiązany z żadnym urządzeniem sprzętowym, to „magiczny” system plików tworzony przez Jądro Linux. Jest podobny do systemu plików / proc
Podobnie jak katalog / dev, / dev / pts zawiera wpisy odpowiadające urządzeniom. Jednak w przeciwieństwie do / dev, który jest zwykłym katalogiem, / dev / pts to specjalny katalog tworzony dynamicznie przez jądro Linuksa. Zawartość katalogu zmienia się z czasem i odzwierciedla stan działającego systemu. Wpisy w / dev / pts odpowiadają pseudo-terminalom (lub pseudo-TTY lub PTY).
Linux tworzy kod PTY dla każdego nowego okna terminala, które otwierasz, i wyświetla odpowiedni wpis w / dev / pts. Urządzenie PTY działa jak urządzenie terminalowe - przyjmuje dane z klawiatury i wyświetla tekst z programów, które w nim działają . PTY są ponumerowane, a numer PTY to nazwa odpowiedniego wpisu w / dev / pts.
Na przykład, jeśli numer PTY nowego okna terminala to 7, wywołaj to polecenie z innego okna:% echo 'I'm a virtual di'> / dev / pts / 7 Dane wyjściowe pojawią się w nowym oknie terminala.
tty
Jest fizyczna t erminal- t Élet Y portu PE na komputerze (zwykle z portem szeregowym).
Słowo teletype jest zwarcie maszynie telegraficznego lub dalekopisowej urządzenia z 1930 - samo urządzenie elektromagnetyczne, które zastąpiły telegraf kodujący maszyny w 1830 i 1840 roku.
pty
Jest p seudo- t ele ty pe portu dostarczana przez system operacyjny komputera Kernel do łączenia programów emulujÄ terminali, takich jak ssh, xterm lub ekranu.
Terminal to po prostu interfejs użytkownika komputera, który używa tekstu do wprowadzania i wysyłania.
Stosują P seudo- t ele Ty PE porty jednak ich nazw i implementacje różniły się trochę.
Linux instaluje specjalny system plików devpts na / dev (the „s” prawdopodobnie stoi za s erial), które tworzy odpowiedni wpis /dev/pts
dla każdego nowego okna terminala otwarciu, np/dev/pts/0
macOS / FreeBSD również korzystają ze struktury plików / dev , jednak używają numerowanej TTY
konwencji nazewnictwa ttys
dla każdego otwieranego okna terminala, np./dev/ttys002
System Microsoft Windows nadal ma koncepcję LPT
portu dla terminali drukarki liniowej w swojej powłoce poleceń do wysyłania do drukarki.