Wenn man sich nur für Block interessiert Speichermedien kann man lsblk
verwenden aus dem weit verbreiteten util-linux-Paket:
$ lsblk -o 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
Es eignet sich gut für Scripting mit vielen anderen verfügbaren Spalten.
Sie könnten die Ausgabe von lshw
durchsuchen und extrahieren Sie Details zu Geräten im disk
oder tape
Klasse (und vielleicht andere - storage
Die Klasse enthält Details zu Speichercontrollern, SCSI, SATA, SAS usw.).
z. B.
lshw -class disk -class tape
Die -short
Option gibt eine schöne kompakte Zusammenfassung. z.B. auf meinem heimischen zfsonlinux server/workstation/experiment-box (leider keine bandgeräte):
# lshw -class tape -class disk -class storage -short H/W path Device Class Description ========================================================= /0/100/4/0 storage JMB362 SATA Controller /0/100/5/0 scsi10 storage JMB362 SATA Controller /0/100/5/0/0.0.0 /dev/sdc disk 120GB Patriot Wildfire /0/100/b/0 scsi1 storage SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] /0/100/b/0/0.0.0 /dev/sdd disk 1TB WDC WD10EARS-00Y /0/100/b/0/0.1.0 /dev/sde disk 1TB WDC WD10EACS-00Z /0/100/b/0/0.2.0 /dev/sdf disk 1TB WDC WD10EACS-00Z /0/100/b/0/0.3.0 /dev/sdg disk 1TB ST31000528AS /0/100/b/0/0.4.0 /dev/sdh disk 1TB ST31000528AS /0/100/b/0/0.5.0 /dev/sdi disk 1TB ST31000528AS /0/100/b/0/0.6.0 /dev/sdj disk 1TB ST31000528AS /0/100/11 scsi2 storage SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] /0/100/11/0 /dev/sda disk 128GB Patriot Torqx 2 /0/100/11/1 /dev/sdb disk 1TB ST31000528AS /0/1 scsi11 storage /0/1/0.0.0 /dev/sdk disk 1967MB SCSI Disk /0/1/0.0.1 /dev/sdl disk SCSI Disk /0/1/0.0.2 /dev/sdm disk SCSI Disk /0/1/0.0.3 /dev/sdn disk SCSI Disk /0/2 scsi66 storage /0/2/0.0.0 /dev/sdo disk SCSI Disk /0/3 scsi67 storage /0/3/0.0.0 /dev/sdp disk 4057MB SCSI Disk
Die /0/1-Geräte sind eigentlich USB-Kartenleser (in einen der Steckplätze ist eine 2-GB-SD-Karte eingesteckt), und das /0/2-Gerät ist mein Android-Telefon, das nur zum Aufladen eingesteckt ist. Das 0/3-Gerät ist ein 4-GB-USB-Flash-Laufwerk.
lshw
kann einfache Text-, HTML-, XML- und JSON-Ausgaben erzeugen. Es kann auch Hardwaredetails in ein SQLite-Datenbankformat ausgeben.
Es ist für Debian und die meisten anderen Distributionen gepackt. Homepage und Quelle sind unter http://ezix.org/project/wiki/HardwareLiSter
Sie können lsblk
verwenden zum Auflisten aller blockierten Geräte, zusammen mit der Angabe, ob jedes Gerät schreibgeschützt ist oder nicht.
Sie können dann grep
verwenden und awk
um die Namen von Blockgeräten zu drucken, die nicht schreibgeschützt sind:
lsblk -d -n -oNAME,RO | grep '0$' | awk {'print $1'}