web-dev-qa-db-ja.com

Linuxシステムのすべてのハードドライブを一覧表示する

ブロックデバイスのどれがハードドライブであるかを検出するのに問題があります。私のシステムには、CD-ROMドライブ、USBドライブ、およびベンダー/タイプ不明の単一のハードドライブがあります。

Linuxコマンド、スクリプト、またはCアプリケーションでハードドライブを識別するにはどうすればよいですか?

25
Allan
Sudo lshw -class disk

システムで利用可能なディスクが表示されます

26
Daniel Fekete

Shuttle87が指摘したように、この質問に答える他の投稿がいくつかあります。私が好む解決策は次のとおりです。

root# lsblk -io NAME,TYPE,SIZE,MOUNTPOINT,FSTYPE,MODEL

NAME    TYPE    SIZE MOUNTPOINT FSTYPE            MODEL
sdb     disk    2.7T                              WDC WD30EZRX-00D
`-sdb1  part    2.7T            linux_raid_member 
  `-md0 raid1   2.7T /home      xfs               
sda     disk    1.8T                              ST2000DL003-9VT1
|-sda1  part  196.1M /boot      ext3              
|-sda2  part  980.5M [SWAP]     swap              
|-sda3  part    8.8G /          ext3            
|-sda4  part      1K                              
`-sda5  part    1.8T /samba     xfs               
sdc     disk    2.7T                              WDC WD30EZRX-00D
`-sdc1  part    2.7T            linux_raid_member 
  `-md0 raid1   2.7T /home      xfs               
sr0     rom    1024M                              CDRWDVD DH-48C2S

参照:

8
Lars Nordin

もっともらしいブロックデバイスのリストがある場合、ファイル

/ sys/block/[blockdevname]/removable

デバイスが取り外し可能な場合は「1」、取り外しできない場合は「0」が含まれます。

1
janneb