web-dev-qa-db-ja.com

`/ dev / ptmx`と` / dev / pts / ptmx`がデバイスファイルではないのはなぜですか?

https://unix.stackexchange.com/a/492304/674 は言う

Linuxでは、devptsを使用して、マスターデバイスファイルはありません。マスターエンドのプロセスは、ptmxを開いて取得するファイル記述子を使用しますが、対応するデバイスノードはありません。

著者は/dev/ptmxまたは/dev/pts/ptmxを参照しましたか?

/dev/ptmxおよび/dev/pts/ptmxがデバイスファイルではないのはなぜですか?それらはどのような種類のファイルですか?

/dev/ptmx/dev/pts/ptmxの違いは何ですか?

ありがとう。

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: -
3
Tim

コンテキストは「疑似端末にはマスターとスレーブのペアがあります」でした。 「マスターデバイスファイルがありません」と書いたとき、スレーブ端末とは異なり、擬似端末接続のマスター端末に対応するファイルシステムにデバイスノードがないことを意味しました。どちらも言及していなかった/dev/ptmxまたは/dev/pts/ptmx

/dev/ptmxおよび/dev/pts/ptmxは、lsまたはstatの出力のタイプで示されるデバイスノードです。メジャーとマイナーは同じです。つまり、同じデバイスへのアクセスを提供します。

両方のデバイスノードの履歴(および最近Linuxに2つある理由)については、 JdeBPの回答 から `/ dev/pts/ptmx`はどこから来るのですか? を参照してください。 。

2
Stephen Kitt