これは、プラットフォームに大きく依存します。また、方法が異なれば、エッジ ケースの扱いも異なる場合があります (さまざまな種類の「偽の」ディスク、RAID ボリュームなど)。
最新の udev インストールでは、/dev/disk
のサブディレクトリにストレージ メディアへのシンボリック リンクがあります。 、シリアル番号 (/dev/disk/by-id/
) でディスクまたはパーティションを検索できます )、UUID による (/dev/disk/by-uuid
)、ファイルシステム ラベル別 (/dev/disk/by-label/
) またはハードウェア接続 (/dev/disk/by-path/
) ).
Linux 2.6 では、各ディスクおよびディスクのようなデバイスは /sys/block
にエントリがあります。 . Linux では黎明期から、ディスクとパーティションは /proc/partitions
にリストされています。 .または、lshw:lshw -class disk
を使用できます。 .
Linux は lsblk
も提供します ストレージ ボリュームの素敵なツリー ビューを表示するユーティリティ (util-linux 2.19 以降、BusyBox を備えた組み込みデバイスには存在しません)。
fdisk
がある場合 または disklabel
ユーティリティで、どのデバイスで動作できるかを教えてくれるかもしれません.
Unix 用の Rosetta Stone には、多くの UNIX バリアントのユーティリティ名があり、特に「ハードウェア構成のリスト」と「ディスク ラベルの読み取り」の行があります。
lsblk
すべてのブロック デバイスを一覧表示します。スクリプト作成に適しています:
$ lsblk -io KNAME,TYPE,SIZE,MODEL
KNAME TYPE SIZE MODEL
sda disk 149.1G TOSHIBA MK1637GS
sda1 part 23.3G
sda2 part 28G
sda3 part 93.6G
sda4 part 4.3G
sr0 rom 1024M CD/DVDW TS-L632M
lsblk
util-linux パッケージに含まれているため、提案されている代替案よりもはるかに普遍的です。
どうですか
lshw -class disk