GNU/Linux >> Tutoriales Linux >  >> Linux

Linux – ¿Por qué `/dev/ptmx` y `/dev/pts/ptmx` no son archivos de dispositivo?

https://unix.stackexchange.com/a/492304/674 dice

En Linux, usando devpts, no hay un archivo de dispositivo maestro. El proceso en el extremo maestro usa un descriptor de archivo, que obtiene al abrir ptmx, pero no hay un nodo de dispositivo correspondiente.

¿Se refirió el autor a /dev/ptmx? o /dev/pts/ptmx ?

¿Por qué /dev/ptmx y /dev/pts/ptmx ¿No son archivos de dispositivo? ¿Qué tipos de archivos son?

¿Cuál es la diferencia entre /dev/ptmx y /dev/pts/ptmx ?

Gracias.

En Lubuntu 18.04

$ file /dev/ptmx 
/dev/ptmx: character special (5/2)
$ file /dev/pts/ptmx 
/dev/pts/ptmx: character special (5/2)

$ sudo su

# stat -L /dev/fd/3 3<> /dev/pts/ptmx
  File: /dev/fd/3
  Size: 0           Blocks: 0          IO Block: 1024   character special file
Device: 15h/21d Inode: 2           Links: 1     Device type: 5,2
Access: (0000/c---------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-21 13:39:10.544000218 -0500
Modify: 2018-11-21 13:39:10.544000218 -0500
Change: 2018-11-21 13:39:10.544000218 -0500
 Birth: -

# stat -L /dev/fd/3 3<> /dev/ptmx
  File: /dev/fd/3
  Size: 0           Blocks: 0          IO Block: 4096   character special file
Device: 6h/6d   Inode: 87          Links: 1     Device type: 5,2
Access: (0666/crw-rw-rw-)  Uid: (    0/    root)   Gid: (    5/     tty)
Access: 2019-01-06 07:19:54.372098540 -0500
Modify: 2019-01-06 07:19:54.372098540 -0500
Change: 2018-11-21 13:39:30.372098540 -0500
 Birth: -

Respuesta aceptada:

El contexto era "Un pseudoterminal tiene un par de maestro y esclavo". Cuando escribí "no hay un archivo de dispositivo maestro", quise decir que no hay un nodo de dispositivo en el sistema de archivos correspondiente al extremo maestro de una conexión pseudoterminal, a diferencia del extremo esclavo. No me refería a /dev/ptmx o /dev/pts/ptmx .

/dev/ptmx y /dev/pts/ptmx son nodos de dispositivo, como se indica por su tipo en la salida de ls o stat . Tienen el mismo mayor y menor, lo que significa que brindan acceso al mismo dispositivo.

Vea la respuesta de JdeBP a ¿De dónde viene `/dev/pts/ptmx`? para la historia de ambos nodos de dispositivos (y la razón por la que hay dos en Linux hoy en día).


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

  2. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  3. ¿Qué relaciones hay entre el terminal de control actual y `/dev/tty`?

  4. Cómo mapear dispositivos /dev/sdX y /dev/mapper/mpathY desde el dispositivo /dev/dm-Z

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

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

¿Cómo dividir una partición monolítica en dos, una para `/` y otra para `/home`?

Cintas de Linux, ¿qué es l a y m al final de los dispositivos de cinta en desarrollo?

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué hay `/lib` y `/lib64` pero solo `/bin`?

¿Por qué se requieren < o > para usar /dev/tcp?