GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Pourquoi `/dev/ptmx` et `/dev/pts/ptmx` ne sont pas des fichiers de périphérique ?

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

Sous Linux, en utilisant devpts, il n'y a pas de fichier de périphérique maître. Le processus côté maître utilise un descripteur de fichier, qu'il obtient en ouvrant ptmx, mais il n'y a pas de nœud de périphérique correspondant.

L'auteur a-t-il fait référence à /dev/ptmx ou /dev/pts/ptmx ?

Pourquoi /dev/ptmx et /dev/pts/ptmx pas les fichiers de l'appareil ? De quels types de fichiers s'agit-il ?

Quelle est la différence entre /dev/ptmx et /dev/pts/ptmx ?

Merci.

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

Réponse acceptée :

Le contexte était "Un pseudoterminal a une paire de maître et d'esclave." Quand j'ai écrit "il n'y a pas de fichier de périphérique maître", je voulais dire qu'il n'y a pas de nœud de périphérique dans le système de fichiers correspondant à l'extrémité maître d'une connexion pseudoterminale, contrairement à l'extrémité esclave. Je ne faisais référence ni à /dev/ptmx ou /dev/pts/ptmx .

/dev/ptmx et /dev/pts/ptmx sont des nœuds de périphérique, comme indiqué par leur type dans la sortie de ls ou stat . Ils ont le même majeur et le même mineur, ce qui signifie qu'ils donnent accès au même appareil.

Voir la réponse de JdeBP à D'où vient `/dev/pts/ptmx` ? pour l'historique des deux nœuds de périphérique (et la raison pour laquelle il y en a deux sur Linux de nos jours).


Linux
  1. Comment mapper les périphériques /dev/sdX et /dev/mapper/mpathY à partir du périphérique /dev/dm-Z

  2. Que sont les fichiers /dev/zero et /dev/null sous Linux

  3. Comprendre /dev et ses sous-répertoires et fichiers

  4. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0

  5. noyau :désactiver /dev/kmem et /dev/mem

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

Linux – Stocké dans les fichiers /dev/pts et pouvons-nous les ouvrir ?

Quelles relations existe-t-il entre le terminal de contrôle actuel et `/dev/tty` ?

Comment diviser une partition monolithique en deux, une pour `/` et une pour `/home` ??

Comment Linux utilise /dev/tty et /dev/tty0

À quoi sert `/dev/console` ?