Unter Linux ist alles eine Datei. Sogar jedes an das System angeschlossene Hardwaregerät wird als spezielle Datei dargestellt. Es sollte also nicht überraschen, dass ein Terminal auch als Datei dargestellt wird. Es gibt einen Befehl namens tty das Terminal-bezogene Informationen anzeigt. In diesem Tutorial werden wir die Grundlagen von tty anhand einiger leicht verständlicher Beispiele besprechen.
Aber bevor wir das tun, sollten wir erwähnen, dass alle Beispiele in diesem Artikel auf Ubuntu 16.04 LTS getestet wurden.
Linux-tty-Befehl
Der Befehl tty gibt grundsätzlich den Dateinamen des Terminals aus, das mit der Standardeingabe verbunden ist. Es folgt die Syntax:
tty [OPTION]...
Und so erklärt es die Manpage des Tools:
Print the file name of the terminal connected to standard input.
Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie tty funktioniert.
Q1. Was ist tty?
Im Wesentlichen ist tty die Abkürzung für Fernschreiber, aber im Volksmund ist es als Terminal bekannt. Es ist im Grunde ein Gerät (heute in Software implementiert), das es Ihnen ermöglicht, mit dem System zu interagieren, indem Sie die Daten (die Sie eingeben) an das System weitergeben und die vom System erzeugte Ausgabe anzeigen.
ttys können von unterschiedlicher Art sein. Beispielsweise grafische Konsolen, auf die Sie mit der Tastenkombination Strg+Alt+Fn zugreifen können, oder Terminalemulatoren wie Gnome Terminal, die innerhalb einer X-Sitzung ausgeführt werden. Weitere Informationen zu tty finden Sie hier.
Q2. Wie funktioniert der tty-Befehl?
Die Verwendung ist ziemlich einfach - führen Sie einfach 'tty' aus, und die Ausgabe enthält den Namen des Terminals, das mit der Standardausgabe verbunden ist (oder mit anderen Worten, den Namen des aktuellen Terminals).
tty
Auf meinem System wurde beispielsweise die folgende Ausgabe erzeugt:
/dev/pts/19
Beachten Sie, dass der Befehl eine Meldung wie "not a tty" erzeugt, wenn er nicht in einem Terminal ausgeführt wird.
Q3. Wie bringt man tty dazu, nur den Exit-Status zurückzugeben?
Es gibt eine Befehlszeilenoption -s das den tty-Befehl zum Schweigen bringt, da keine Ausgabe erzeugt wird. Es wird nur der Exit-Status zurückgegeben.
tty -s
Im Folgenden ist die Bedeutung der einzelnen Exit-Status:
- 0, wenn die Standardeingabe ein Terminal ist
- 1, wenn die Standardeingabe kein Terminal ist
- 2 wenn falsche Argumente angegeben werden
- 3 wenn ein Schreibfehler auftritt
Schlussfolgerung
Unnötig zu erwähnen, dass tty nicht die Art von Befehl ist, die Sie möglicherweise häufig verwenden müssen. Aber es ist immer gut zu wissen, dass es einen solchen Befehl gibt, und angesichts der begrenzten Anzahl von Befehlszeilenoptionen ist er auch leicht zu verstehen. Weitere Informationen über das Tool finden Sie auf seiner Manpage.