(重複ではありません。/dev、サブディレクトリ、ファイルの理解)
私はファイルシステムを検索していますが、最初に私の/dev
ディレクトリを解析するのに1秒かかりました。私はそこにあるデバイスファイルの数に驚いており、そのファイルをすべて理解することはできません。
max@linux-vwzy:/dev> ls
adsp disk fd0u1760 initctl mem root sg0 tty tty21 tty35 tty49 tty62 vboxdrv vcsa2
audio dri fd0u1840 input mixer rtc sg1 tty0 tty22 tty36 tty5 tty63 vboxnetctl vcsa3
autofs dsp fd0u1920 kmem mixer1 rtc0 sg2 tty1 tty23 tty37 tty50 tty7 vboxusb vcsa4
block dvd fd0u360 kmsg net scd0 sg3 tty10 tty24 tty38 tty51 tty8 vcs vcsa5
bootsplash dvdrw fd0u720 log network_latency sda sg4 tty11 tty25 tty39 tty52 tty9 vcs1 vcsa6
bsg fb0 fd0u800 loop0 network_throughput sda1 sg5 tty12 tty26 tty4 tty53 ttyS0 vcs10 vcsa7
btrfs-control fd fd0u820 loop1 null sda2 sg6 tty13 tty27 tty40 tty54 ttyS1 vcs2 vga_arbiter
bus fd0 fd0u830 loop2 nvram sda3 sg7 tty14 tty28 tty41 tty55 ttyS2 vcs3 xconsole
cdrom fd0u1040 full loop3 oldmem sdb shm tty15 tty29 tty42 tty56 ttyS3 vcs4 zero
cdrw fd0u1120 fuse loop4 port sdc snapshot tty16 tty3 tty43 tty57 ttyS4 vcs5
char fd0u1440 fw0 loop5 ppp sdc1 snd tty17 tty30 tty44 tty58 ttyS5 vcs6
console fd0u1600 hidraw0 loop6 psaux sdd sr0 tty18 tty31 tty45 tty59 ttyS6 vcs7
core fd0u1680 hidraw1 loop7 ptmx sde stderr tty19 tty32 tty46 tty6 ttyS7 vcsa
cpu fd0u1722 hidraw2 mapper pts sdf stdin tty2 tty33 tty47 tty60 uinput vcsa1
cpu_dma_latency fd0u1743 hpet mcelog random sdg stdout tty20 tty34 tty48 tty61 urandom vcsa10
sd*
私はディスクとファイルシステムであることを知っていますがloopx
、、そして他fd0uxxxx
のすべての個々のファイルは何ですか?ほとんどはに基づいています。sgx
vcsxxx
ls
この質問に完全に答えるには多くの情報が必要であることがわかっているので、誰かがdev
さまざまなデバイスファイルとその用途の詳細な概要を含むリンクを提供できない場合は、CWの回答を書くことをお勧めします。
答え1
それらの中にはマニュアルページがあります。セクション4sda
;最後の数字は省略し、最後の文字など一部の場合は省略します。
より明確だが読みにくい答えを見るには、次の点を確認してください。カーネル文書。まず、デバイスが次のようになっていることを確認してください。ブロックデバイスまたは文字デバイス、そしてメジャーとマイナー番号です。例えば
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jul 12 15:54 /dev/sda
sda
b
ブロックデバイス()、major:minor = 8:0の場合も同様です。今探してくださいdevices.txt
:Block 8は最近、ほとんどのディスクと同じSCSIディスクデバイスです(カーネルコンパイルオプションによって異なりますが、ほとんどのIDEとSATAディスクはSCSIインターフェイスを介しても表示されます)。ブロックデバイス8:1(/dev/sda1
)が最初のパーティションです/dev/sda
。
文書化されていない奇妙なデバイスがある可能性があります。たとえば、システムを表示できます。これは、デバイスに関するさまざまな情報を提供する/sys/dev/block/8:0
ディレクトリへのシンボリックリンクです。/sys
特に(この場合)、/sys/dev/block/8:0/device/driver
ドライバに対応するディレクトリに移動する追加のリンクをクリックできます。もう一つの情報源は、/proc/devices
ドライバに各主要なデバイス番号を宣言するように指示することです。
ほとんどのLinuxシステムではウデブ/dev
利用可能なドライバとハードウェアに基づいて入力します。通常、/lib/udev/rules.d
およびにあるデバイスファイルを生成するための規則を参照できます/etc/udev/rules.d
(正確な場所はディストリビューションによって異なります)。
これらのファイルの一部はデバイスではありません。lsof /dev/NAME
(ルートとして)どのプロセスがそれを使用しているかを知らせ、どの用途に使用されるかについてのヒントを提供します。ディレクトリの場合は、その中のファイルを見てください。
この答えはLinuxに固有ですが、他のUnisも同じ原則に従います。マニュアルページ(ほとんどのバリエーションはセクション4にありますが、一部はセクション7を使用しています)または他のシステムまたはカーネル文書を確認してください。関連情報は、ブロック/文字ビットとキー:マイナー番号です。