GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – In /dev/pts Dateien gespeichert und können wir sie öffnen?

Meines Wissens nach /dev/pts Dateien werden für SSH- oder Telnet-Sitzungen erstellt.

Akzeptierte Antwort:

Nichts wird in /dev/pts gespeichert . Dieses Dateisystem lebt ausschließlich im Speicher.

Einträge in /dev/pts sind Pseudo-Terminals (kurz pty). Unix-Kernel haben eine generische Vorstellung von Terminals. Ein Terminal bietet Anwendungen die Möglichkeit, Ausgaben anzuzeigen und Eingaben über ein Terminalgerät zu empfangen. Ein Prozess kann ein steuerndes Terminal haben — So interagiert eine Anwendung im Textmodus mit dem Nutzer.

Terminals können entweder Hardware-Terminals („tty“, kurz für „Teletype“) oder Pseudo-Terminals („pty“) sein. Hardware-Terminals werden über eine Schnittstelle wie eine serielle Schnittstelle (ttyS0 , …) oder USB (ttyUSB0 , …) oder über PC-Bildschirm und Tastatur (tty1 , …). Pseudoterminals werden von einem Terminalemulator bereitgestellt, der eine Anwendung ist. Einige Arten von Pseudoterminals sind:

  • GUI-Anwendungen wie xterm, gnome-terminal, konsole, … wandeln Tastatur- und Mausereignisse in Texteingabe um und zeigen die Ausgabe grafisch in einer bestimmten Schriftart an.
  • Multiplexer-Anwendungen wie Bildschirm- und tmux-Relay-Eingabe und -Ausgabe von und zu einem anderen Terminal, um Textmodus-Anwendungen vom eigentlichen Terminal zu entkoppeln.
  • Remote-Shell-Anwendungen wie sshd, telnetd, rlogind, … leiten Ein- und Ausgaben zwischen einem Remote-Terminal auf dem Client und einem pty auf dem Server weiter.

Wenn ein Programm ein Terminal zum Schreiben öffnet, erscheint die Ausgabe dieses Programms auf dem Terminal. Es ist üblich, mehrere Programme gleichzeitig an ein Terminal ausgeben zu lassen, obwohl dies manchmal verwirrend sein kann, da nicht erkennbar ist, welcher Teil der Ausgabe von welchem ​​Programm stammt. Hintergrundprozesse, die versuchen, auf ihr steuerndes Terminal zu schreiben, können automatisch durch ein SIGTTOU-Signal ausgesetzt werden.

Wenn ein Programm ein Terminal zum Lesen öffnet, wird die Eingabe des Benutzers an dieses Programm weitergegeben. Wenn mehrere Programme von demselben Terminal lesen, wird jedes Zeichen unabhängig zu einem der Programme geleitet; dies wird nicht empfohlen. Normalerweise liest zu einem bestimmten Zeitpunkt nur ein einziges Programm aktiv vom Terminal; Programme, die versuchen, von ihrem steuernden Terminal zu lesen, während sie sich nicht im Vordergrund befinden, werden automatisch durch ein SIGTTIN-Signal angehalten.

Führen Sie zum Experimentieren tty aus in einem Terminal, um zu sehen, was das Endgerät ist. Nehmen wir an, es ist /dev/pts/42 . Führen Sie in einer Shell in einem anderen Terminal echo hello >/dev/pts/42 aus :die Zeichenfolge hello wird auf dem anderen Terminal angezeigt. Führen Sie nun cat /dev/pts/42 aus und geben Sie das andere Terminal ein. Um diese cat zu töten Befehl (was die Verwendung des anderen Terminals erschwert), drücken Sie Strg +C .

Siehe auch:Linux – Upgrade von Mainboard und CPU ohne Neuinstallation?

Das Schreiben auf ein anderes Terminal ist gelegentlich nützlich, um eine Benachrichtigung anzuzeigen. zum Beispiel write Befehl tut das. Das Lesen von einem anderen Terminal wird normalerweise nicht durchgeführt.


Linux
  1. Was sind /dev/zero- und /dev/null-Dateien in Linux

  2. screen Ihr Terminal '/dev/pts/0' kann nicht geöffnet werden - bitte überprüfen

  3. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

  4. Wie kann ich die Anzahl und Größe von Linux-Ramdisks (/dev/ram0 - /dev/ram15) ändern?

  5. Wie Linux /dev/tty und /dev/tty0 verwendet

tty (/dev/tty ) vs. pts (/dev/pts) unter Linux

Was ist „/dev/null 2&1“ unter Linux

Was ist /dev/null unter Linux

Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

Wie portabel sind /dev/stdin, /dev/stdout und /dev/stderr?

/proc/cpuinfo- und /proc/meminfo-Dateien unter Linux