Antworten:
"tty" bedeutete ursprünglich "Teletyp" und "pty" bedeutet "Pseudo-Teletyp".
Unter UNIX ist / dev / tty * jedes Gerät, das sich wie ein "Teletyp" verhält, dh ein Terminal. (Teletyp genannt, weil wir das in jenen Tagen für Terminals hatten.)
Ein pty ist ein Pseudotty, ein Geräteeintrag, der wie ein Terminal für den Prozess fungiert, der dort liest und schreibt, aber von etwas anderem verwaltet wird. Sie erschienen zuerst (wie ich mich erinnere) für X Window und Screen und dergleichen, wo Sie etwas brauchten, das sich wie ein Terminal verhält, aber von einem anderen Programm verwendet werden kann.
Ctrl-Alt-F{1..6}
denen eine Verbindung besteht /dev/tty{1..6}
. Die Linux-Konsole ist kein physisches Terminal, sie ist jedoch mit einem ttyN
(nicht mit einem ptyN
) verbunden. Vermisse ich hier etwas?
Ein tty ist ein Terminal (es steht für Teletyp - die ursprünglichen Terminals verwendeten einen Zeilendrucker für die Ausgabe und eine Tastatur für die Eingabe!). Ein Terminal ist im Grunde genommen nur ein Benutzeroberflächengerät, das Text für die Eingabe und Ausgabe verwendet.
Ein pty ist ein Pseudo-Terminal - es ist eine Software-Implementierung, die dem angehängten Programm wie ein Terminal erscheint, aber anstatt direkt mit einem "echten" Terminal zu kommunizieren, überträgt es die Ein- und Ausgabe an ein anderes Programm.
Wenn Sie beispielsweise in einen Computer ssh und ausführen ls
, ls
sendet der Befehl seine Ausgabe an ein Pseudo-Terminal, dessen andere Seite an den SSH-Daemon angeschlossen ist.
*nix
das Betriebssystem diese Pseudo-Terminals erstellt.
sshd
und xterm
sind zwei typische Beispiele.
Wenn Sie den Befehl mount ohne Befehlszeilenargumente ausführen, in dem die auf Ihrem System gemounteten Dateisysteme angezeigt werden, sehen Sie eine Zeile, die ungefähr so aussieht: none on / dev / pts type devpts (rw, gid = 5, mode = 620) Dies zeigt an, dass ein spezieller Dateisystemtyp, devpts, unter / dev / pts bereitgestellt wird. Dieses Dateisystem, das keinem Hardwaregerät zugeordnet ist, ist ein "magisches" Dateisystem, das vom erstellt wird Linux Kernel. Es ähnelt dem Dateisystem / proc
Wie das Verzeichnis / dev enthält / dev / pts Einträge, die Geräten entsprechen. Im Gegensatz zu / dev, einem normalen Verzeichnis, ist / dev / pts ein spezielles Verzeichnis, das vom Linux-Kernel dynamisch erstellt wird. Der Inhalt des Verzeichnisses variiert mit der Zeit und spiegelt den Status des laufenden Systems wider. Die Einträge in / dev / pts entsprechen Pseudo-Terminals (oder Pseudo-TTYs oder PTYs).
Linux erstellt für jedes neue Terminalfenster, das Sie öffnen, einen PTY und zeigt einen entsprechenden Eintrag in / dev / pts an. Das PTY-Gerät verhält sich wie ein Endgerät - es akzeptiert Eingaben von der Tastatur und zeigt die Textausgabe der darin ausgeführten Programme an . PTYs sind nummeriert und die PTY-Nummer ist der Name des entsprechenden Eintrags in / dev / pts.
Wenn die PTY-Nummer des neuen Terminalfensters beispielsweise 7 lautet, rufen Sie diesen Befehl in einem anderen Fenster auf:% echo 'Ich bin ein virtuelles Di'> / dev / pts / 7 Die Ausgabe wird im neuen Terminalfenster angezeigt.
A tty
ist ein physikalischer t erminal- t elet y PE - Anschluss auf einen Computer ( in der Regel ein serieller Port).
Das Wort Teletyp ist ein Kurzschluss der Telegraphenschreibmaschine oder des Teletypewriter- Geräts aus den 1930er Jahren - selbst ein elektromagnetisches Gerät, das die Telegraphencodierungsmaschinen der 1830er und 1840er Jahre ersetzte .
TTY - Teletypewriter 1930er Jahre
A pty
ist ein p seudo- t ele ty PE - Anschluss von einem Computer - Betriebssystem - Kernel zu Connect - Software - Programmen bereitgestellt Terminals, wie SSH, xterm oder Bildschirm emulieren.
Ein Terminal ist einfach die Benutzeroberfläche eines Computers, die Text für die Eingabe und Ausgabe verwendet.
Diese verwenden p seudo- t ele ty pe Ports jedoch ihre Benennung und Implementierungen haben ein wenig auseinander.
Linux stellt ein spezielles Dateisystem devpts on / dev bereit (das 's' steht vermutlich für s erial), das /dev/pts
für jedes neue Terminalfenster, das Sie öffnen, einen entsprechenden Eintrag erstellt , z/dev/pts/0
macOS / FreeBSD verwendet auch die Dateistruktur / dev . Sie verwenden jedoch eine nummerierte TTY
Namenskonvention ttys
für jedes neue Terminalfenster, das Sie öffnen, z/dev/ttys002
Microsoft Windows verfügt weiterhin über das Konzept eines LPT
Anschlusses für Zeilendruckerterminals in der Befehlsshell für die Ausgabe an einen Drucker.