
ls /dev
コマンドはデバイスファイルを一覧表示します。
どのように知っていますか関連ドライバー/major_numbers/minor_numbersとそのデバイスファイルは何ですか?
答え1
ls -l /dev
プライマリ番号とセカンダリ番号を通知します。
crw-rw---- 1ルートダイヤルアウト4、64 4月4日07:54 /dev/ttyS0
主装置番号は 4 で、副装置番号は 64 です。
/proc/devices
これで代表番号を確認できます。この例には、キー番号(c
行の先頭)を持つ文字デバイスがあり4
、その後/proc/modules
は
キャラクターデバイス: ... 4つの端子 4つの端子
マイナー番号の割り当てはデバイスによって異なります。
一部のデバイスはコアカーネルコード(たとえばtty
)によって駆動され、他のデバイスはロード可能なモジュール(たとえばrfcomm
)によって管理されます。/proc/modules
一致するモジュールを探すか、/proc/kallsyms
モジュール名を探します。多くの結果が得られますが、探している鍵は角かっこ内に文字列があるかどうかです。例えば、grep tty /proc/kallsyms
与えられた
0000000000000000t tty_drivers_open 0000000000000000t show_tty_range 0000000000000000t show_tty_driver ...
grep rfcomm /proc/kallsyms
ジブス
0000000000000000t rfcomm_apply_pn [rfcomm] 0000000000000000t rfcomm_dlc_debugfs_open [rfcomm] 0000000000000000t rfcomm_dlc_debugfs_show [rfcomm]
[rfcomm]
コードはrfcomm
モジュールにありますが、tty
モジュールではなくカーネル自体にあるため、角かっこ内に何も表示されないことを示します。
この方法は決定的ではありませんが、制御コードがどこにあるかについてのアイデアを提供する必要があります。
答え2
-l
数字を表示するには、オプションを使用してください。
$ ls -l /dev/sda*
brw-rw---- 1 root disk 8, 0 Jan 22 10:34 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 4 13:24 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 4 13:24 /dev/sda2
brw-rw---- 1 root disk 8, 3 Dec 4 13:24 /dev/sda3
...
stat
これも表示します(「デバイスタイプ」として)。
$ stat /dev/sda
File: '/dev/sda'
Size: 0 Blocks: 0 IO Block: 4096 block special file
Device: 5h/5d Inode: 3431 Links: 1 Device type: 8,0
...