GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Perché `/dev/ptmx` e `/dev/pts/ptmx` non sono file di dispositivo?

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

Su Linux, usando devpts, non esiste un file del dispositivo master. Il processo sul lato master utilizza un descrittore di file, che ottiene aprendo ptmx, ma non esiste un nodo dispositivo corrispondente.

L'autore ha fatto riferimento a /dev/ptmx o /dev/pts/ptmx ?

Perché sono /dev/ptmx e /dev/pts/ptmx non file del dispositivo? Che tipi di file sono?

Qual è la differenza tra /dev/ptmx e /dev/pts/ptmx ?

Grazie.

A 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: -

Risposta accettata:

Il contesto era "Uno pseudoterminale ha una coppia di master e slave". Quando ho scritto "non esiste un file di dispositivo master", intendevo dire che non esiste un nodo di dispositivo nel file system corrispondente all'estremità master di una connessione pseudoterminale, a differenza dell'estremità slave. Non mi riferivo nemmeno a /dev/ptmx o /dev/pts/ptmx .

/dev/ptmx e /dev/pts/ptmx sono nodi dispositivo, come indicato dal loro tipo nell'output di ls o stat . Hanno lo stesso maggiore e lo stesso minore, il che significa che forniscono l'accesso allo stesso dispositivo.

Vedi la risposta di JdeBP a Da dove viene `/dev/pts/ptmx`? per la cronologia di entrambi i nodi del dispositivo (e il motivo per cui ce ne sono due su Linux al giorno d'oggi).


Linux
  1. Come mappare il dispositivo /dev/sdX e /dev/mapper/mpathY dal dispositivo /dev/dm-Z

  2. Cosa sono i file /dev/zero e /dev/null in Linux

  3. Come Linux usa /dev/tty e /dev/tty0

  4. Perché Linux deve avere sia `/dev/cdrom` che `/media/cdrom`?

  5. Nastri Linux, cosa sono l a e m alla fine dei dispositivi a nastro in dev?

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

Quali sono le relazioni tra l'attuale terminale di controllo e `/dev/tty`?

Come dividere una partizione monolitica in due, una per `/` e una per `/home`??

kernel:disabilitare /dev/kmem e /dev/mem

A cosa serve `/dev/console`?

Differenze tra /dev/sda e /dev/sda1