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: -
コンテキストは「疑似端末にはマスターとスレーブのペアがあります」でした。 「マスターデバイスファイルがありません」と書いたとき、スレーブ端末とは異なり、擬似端末接続のマスター端末に対応するファイルシステムにデバイスノードがないことを意味しました。どちらも言及していなかった/dev/ptmx
または/dev/pts/ptmx
。
/dev/ptmx
および/dev/pts/ptmx
は、ls
またはstat
の出力のタイプで示されるデバイスノードです。メジャーとマイナーは同じです。つまり、同じデバイスへのアクセスを提供します。
両方のデバイスノードの履歴(および最近Linuxに2つある理由)については、 JdeBPの回答 から `/ dev/pts/ptmx`はどこから来るのですか? を参照してください。 。