私はディレクトリがデバイス/dev
ファイルを保存していることを知っていますが、ディレクトリは/dev
デバイスファイルを保存できる唯一の場所ですか、それともデバイスファイルがディレクトリに保存されるのは慣例ですか/dev
?
答え1
これは単なる習慣です。実際には、chroot
デバイスエントリは、環境内またはコンテナ(dockerなど)の他の場所に存在できます。
デバイスアイテムをデバイスアイテムにするには?タイプ名前以外の項目
たとえば、次のようになります。
% ls -ld /dev/vda
brw-rw---- 1 root disk 253, 0 May 26 07:00 /dev/vda
最初の「b」は、これがブロックデバイスであることを示します。 「253」はメジャーデバイス番号、「0」はマイナーデバイス番号です。この場合
% grep virt /proc/devices
253 virtblk
したがって、マスターデバイス253は仮想ブロック層に関連付けられる。
ここでは、「vda」という名前が重要ではないことがわかります!
私は本当にできます
sudo mknod /tmp/foo b 253 0
これで/tmp/foo
まったく同じデータにアクセスできます。
% sudo dd if=/dev/vda bs=256b count=1 | sum
....
40545 128
% sudo dd if=/tmp/foo bs=256b count=1 | sum
....
40545 128
一般名は、人と構成ファイルにとって重要です(たとえば、/dev/tty1
Linuxシステムの最初の仮想コンソールの一般名、/dev/ttyS0
最初のシリアルポートの一般名など)。ただし、タイプ(ブロック/文字)とメイン/これはうまくいきます。