Hier ist von meinem Ubuntu
$ ls /dev/*tty*
/dev/tty /dev/tty17 /dev/tty26 /dev/tty35 /dev/tty44 /dev/tty53 /dev/tty62 /dev/ttyS12 /dev/ttyS21 /dev/ttyS30
/dev/tty0 /dev/tty18 /dev/tty27 /dev/tty36 /dev/tty45 /dev/tty54 /dev/tty63 /dev/ttyS13 /dev/ttyS22 /dev/ttyS31
/dev/tty1 /dev/tty19 /dev/tty28 /dev/tty37 /dev/tty46 /dev/tty55 /dev/tty7 /dev/ttyS14 /dev/ttyS23 /dev/ttyS4
/dev/tty10 /dev/tty2 /dev/tty29 /dev/tty38 /dev/tty47 /dev/tty56 /dev/tty8 /dev/ttyS15 /dev/ttyS24 /dev/ttyS5
/dev/tty11 /dev/tty20 /dev/tty3 /dev/tty39 /dev/tty48 /dev/tty57 /dev/tty9 /dev/ttyS16 /dev/ttyS25 /dev/ttyS6
/dev/tty12 /dev/tty21 /dev/tty30 /dev/tty4 /dev/tty49 /dev/tty58 /dev/ttyprintk /dev/ttyS17 /dev/ttyS26 /dev/ttyS7
/dev/tty13 /dev/tty22 /dev/tty31 /dev/tty40 /dev/tty5 /dev/tty59 /dev/ttyS0 /dev/ttyS18 /dev/ttyS27 /dev/ttyS8
/dev/tty14 /dev/tty23 /dev/tty32 /dev/tty41 /dev/tty50 /dev/tty6 /dev/ttyS1 /dev/ttyS19 /dev/ttyS28 /dev/ttyS9
/dev/tty15 /dev/tty24 /dev/tty33 /dev/tty42 /dev/tty51 /dev/tty60 /dev/ttyS10 /dev/ttyS2 /dev/ttyS29
/dev/tty16 /dev/tty25 /dev/tty34 /dev/tty43 /dev/tty52 /dev/tty61 /dev/ttyS11 /dev/ttyS20 /dev/ttyS3
Ich habe 7 virtuelle Konsolen.
Ich habe auch einige Registerkarten im Gnome-Terminal geöffnet und mehrere Emacs (einige laufende Shell, aber ich habe sie wahrscheinlich alle geschlossen) und Bildschirmsitzungen (aber jetzt geschlossen).
- Was ist der Unterschied zwischen
/dev/tty
,/dev/tty[[:digit:]]+
,/dev/ttyprintk
und/dev/ttyS[[:digit:]]+
? - Wie kann ich herausfinden, welchem Gerät jede tty-Datei entspricht?
Einige sagten, die Gerätedateien für pseudo tty seien / dev / pty , aber warum gibt es hier keine pty-Datei oder kein Verzeichnis:
$ ls /dev/*pty* ls: cannot access /dev/*pty*: No such file or directory
Nicht sicher, was
/dev/*pts*
bedeutet:$ ls /dev/*pts* 0 1 10 11 12 13 14 15 16 17 18 2 20 21 22 23 24 26 3 4 5 6 7 8 9 ptmx
Danke und Grüße!
ls /dev/*pts*
?ls: cannot access /dev/*pty*: No such file or directory
pts
stattpty
.Antworten:
Was ist ein Terminal?
Ein Terminal besteht aus einem Bildschirm und einer Tastatur, über die remote mit einem Computer (dem Host) kommuniziert wird. Man benutzt es fast wie einen Personal Computer, aber das Terminal ist von seinem Host-Computer entfernt, mit dem es kommuniziert (auf der anderen Seite des Raums oder sogar auf der anderen Seite der Welt).
Frage 1
/dev/tty
steht für das steuernde Terminal (falls vorhanden) für den aktuellen Prozess. Um herauszufinden, welche tty an welche Prozesse angehängt sind, verwenden Sie denps -a
Befehl an der Shell-Eingabeaufforderung (Befehlszeile). Schau dir dietty
Spalte an. Für den Shell-Prozess, in/dev/tty
dem Sie sich befinden , ist das Terminal, das Sie jetzt verwenden.tty0
,tty1
,tty2
usw. Wenn Sie sich anmelden Sie sindtty1
. Um zutty2
drücken Alt- F2.tty1
,tty2
Etc. sind virtuelle Terminals (manchmal auch als "virtuelle Konsolen" genannt). Sie können sich an verschiedenen virtuellen Terminals anmelden und so einige verschiedene Sitzungen mit dem Computer gleichzeitig abhalten. Sie wechseln zwischen ihnen mit der Taste Alt- F?wo "?" ist die gewünschte Nummer des virtuellen Terminals. Die Konsole wird auch als bezeichnet,/dev/tty0
und Systemmeldungen werden möglicherweise an dieses Gerät gesendet und auf Ihrer Konsole angezeigt. Nur das System oder der Root-Benutzer darf schreiben,/dev/tty0
mit dem/dev/console
manchmal verbunden ist.ttyprintk
ist ein Pseudo-TTY-Treiber, mit dem Benutzerprintk
Nachrichten über die Ausgabe an dasttyprintk
Gerät senden können ./dev/tty/S[[:digit:]]
repräsentiert die seriellen Schnittstellen. Jedes Terminal ist mit einer seriellen Schnittstelle des Host-Computers verbunden (häufig nur mit einem PC). Die Ports haben Namen / Nummern. Die erste ist:ttyS0
,ttyS1
,ttyS2
usw. Diese wird durch spezielle Dateien in dem gefundenen dargestellt wird/dev
(Gerät) Verzeichnis.ttyS0
entspricht COM1 unter DOS oder Windows.ttyS1
ist COM2 usw.Frage 3 und Frage 4 sind verwandt. Gilles hat von hier aus eine wunderbare Erklärung . Einige der Auszüge aus seiner Antwort sind:
Außerdem sehe ich auf der Wiki-Seite des Pseudo-Terminals die folgenden Informationen.
Ich vermute also, dass
/dev/pty
es nicht verfügbar ist, weshalb Sie sehen/dev/pts
.Verweise
http://www.tldp.org/HOWTO/Text-Terminal-HOWTO-7.html
Linux: Unterschied zwischen / dev / console, / dev / tty und / dev / tty0
http://lkml.iu.edu/hypermail/linux/kernel/1009.0/00333.html
quelle
/dev/tty
dem Sie sich befinden , ist das Terminal, das Sie jetzt verwenden." Wenn ich zu einer anderen Registerkarte des Gnome-Terminals wechsle, wirdecho 1 > /dev/tty
immer1
auf der aktuellen Registerkarte des Gnome-Terminals ausgegeben . Sind nicht alle tty-Dateien an die Terminalprozesse gebunden? Wie sind sie mit den Terminalprozessen verbunden?