GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:almacenado en archivos /dev/pts y ¿podemos abrirlos?

Según mi conocimiento, /dev/pts los archivos se crean para sesiones ssh o telnet.

Respuesta aceptada:

No se almacena nada en /dev/pts . Este sistema de archivos vive puramente en la memoria.

Entradas en /dev/pts son pseudo-terminales (pty para abreviar). Los kernels de Unix tienen una noción genérica de terminales. Una terminal proporciona una forma para que las aplicaciones muestren la salida y reciban la entrada a través de un dispositivo de terminal. Un proceso puede tener un terminal de control — para una aplicación en modo texto, así es como interactúa con el usuario.

Los terminales pueden ser terminales de hardware ("tty", abreviatura de "teletipo") o pseudoterminales ("pty"). Los terminales de hardware están conectados a través de alguna interfaz, como un puerto serie (ttyS0 , …) o USB (ttyUSB0 , …) o a través de una pantalla y teclado de PC (tty1 , …). Los pseudoterminales los proporciona un emulador de terminal, que es una aplicación. Algunos tipos de pseudo-terminales son:

  • Las aplicaciones GUI como xterm, gnome-terminal, konsole,... transforman los eventos del teclado y el mouse en entrada de texto y muestran la salida gráficamente en alguna fuente.
  • Aplicaciones de multiplexor, como entrada y salida de relé de pantalla y tmux desde y hacia otro terminal, para desacoplar las aplicaciones de modo de texto del terminal real.
  • Las aplicaciones de shell remoto como sshd, telnetd, rlogind,... transmiten entrada y salida entre un terminal remoto en el cliente y un pty en el servidor.

Si un programa abre una terminal para escribir, la salida de ese programa aparece en la terminal. Es común tener varios programas saliendo a una terminal al mismo tiempo, aunque esto puede ser confuso a veces ya que no hay forma de saber qué parte de la salida proviene de qué programa. Los procesos en segundo plano que intentan escribir en su terminal de control pueden suspenderse automáticamente mediante una señal SIGTTOU.

Si un programa abre una terminal para lectura, la entrada del usuario se pasa a ese programa. Si se están leyendo varios programas desde el mismo terminal, cada carácter se enruta de forma independiente a uno de los programas; esto no es recomendable. Normalmente, solo hay un único programa leyendo activamente desde el terminal en un momento dado; los programas que intentan leer desde su terminal de control mientras no están en primer plano se suspenden automáticamente mediante una señal SIGTTIN.

Para experimentar, ejecute tty en una terminal para ver cuál es el dispositivo terminal. Digamos que es /dev/pts/42 . En un shell en otra terminal, ejecute echo hello >/dev/pts/42 :la cadena hello se mostrará en el otro terminal. Ahora ejecuta cat /dev/pts/42 y escriba en la otra terminal. Para matar a ese cat comando (lo que dificultará el uso del otro terminal), presione Ctrl +C .

Relacionado:Linux:¿Actualizar la placa base y la CPU sin reinstalar?

Escribir en otro terminal en ocasiones es útil para mostrar una notificación; por ejemplo el write comando hace eso. La lectura desde otro terminal normalmente no se realiza.


Linux
  1. Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

  2. ¿Qué son los archivos /dev/zero y /dev/null en Linux?

  3. ¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

  4. ¿Cómo puedo cambiar la cantidad y el tamaño de los ramdisks de Linux (/dev/ram0 - /dev/ram15)?

  5. kernel:deshabilitar /dev/kmem y /dev/mem

tty (/dev/tty) vs pts (/dev/pts) en Linux

¿Qué es '/dev/null 2&1' en Linux?

¿Qué es /dev/null en Linux?

Archivos /proc/cpuinfo y /proc/meminfo en Linux

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

Cómo usa Linux /dev/tty y /dev/tty0