Was sind /dev/tty, /dev/tty0 und /dev/console unter Linux?
Linux/UNIX unterstützt Gerätedateien, die im Verzeichnis /dev gespeichert sind. Dabei handelt es sich nicht um tatsächliche Dateien, sondern um spezielle Dateien oder Zeichengeräte, die für Hardwaregeräte repräsentativ sind, die an das System angeschlossen sind.
Einige der am häufigsten missverstandenen Gerätedateien sind /dev/console, /dev/tty und /dev/tty0. In diesem Leitfaden werden wir die Nuancen untersuchen, die diese drei Gerätedateien unterscheiden.
Was ist /dev/tty in Linux?
"tty" ist die Abkürzung für TeleTYpewriter. Es hat seinen Ursprung in den frühen Terminals, die als Fernschreiber oder Fernschreiber zum Anschluss an Computer verwendet wurden.
Die Datei /dev/tty ist eine spezielle Datei, die das Terminal für den aktuellen Prozess darstellt und das Terminal anzeigt, das der aktuellen SSH-Sitzung zugeordnet ist.
Um zu überprüfen, welches tty Sie gerade verwenden, führen Sie den folgenden Befehl aus:
$ tty
OR
who am i
Die Ausgabe zeigt, dass das aktuelle tty /dev/pts/0 ist. Dies steht für Pseudo Terminal Slave und ist ein Endgerät, das von SSH-Verbindungen oder anderen Programmen wie xterm oder screen emuliert wird.
Was ist /dev/tty[0-N] in Linux?
/dev/tty[0-N] ist einfach eine virtuelle Konsole, zu der Sie vom Hauptterminal aus wechseln können, wenn Sie ein GUI-System betreiben, bei dem N die TTY-Nummer darstellt. Standardmäßig ist /dev/tty0 die standardmäßige virtuelle Konsole.
Wenn Sie beispielsweise eine grafische Instanz von Ubuntu 22.04 ausführen, starten Sie Ihr Terminal und geben Sie STRG + ALT + F1 ein, wodurch ein schwarzer Terminalbildschirm geöffnet wird, wie unten gezeigt.
Wie Sie sehen können, verwenden wir in der Ausgabe tty1, wobei 1 der gedrückten Funktionstaste entspricht.
tty1 bis tty63 sind virtuelle Terminals, die auch als VTs oder virtuelle Konsolen bezeichnet werden. Und wie bereits erwähnt, simulieren sie mehrere Konsolen auf dem Gerätetreiber der physischen Konsole.
Was ist /dev/console unter Linux?
/dev/console wird als Systemkonsole bezeichnet, in der die Boot- und Kernel-Meldungen während des Bootvorgangs auf dieser Konsole angezeigt werden. Wie andere Linux-Gerätedateien befindet sie sich im Verzeichnis /dev.
Sie können dies bestätigen, indem Sie den folgenden ls-Befehl wie folgt ausführen.
$ ls -lah /dev/console
/dev/console existiert hauptsächlich, um die Konsole des Kernels für den Benutzerbereich verfügbar zu machen. Es zeigt Meldungen während des Systemstarts (und auch beim Herunterfahren) an und erleichtert auch die Umschaltung in den Einzelbenutzermodus mit dem Befehl init 1.
Schlussfolgerung
Wir hoffen, dass Sie jetzt die Unterschiede erkennen können, die zwischen den drei Gerätedateien bestehen, die wir gerade behandelt haben. Ihr Feedback zu diesem Leitfaden ist willkommen.


