Ich muss alle beschreibbaren Speichergeräte finden, die an einen bestimmten Computer angeschlossen sind, unabhängig davon, ob sie aktiviert sind oder nicht.
Die blöde Möglichkeit, dies zu tun, besteht darin, jeden Eintrag zu versuchen /dev
, der einem beschreibbaren Gerät entspricht (hd * und sd *).
Gibt es eine bessere Lösung oder soll ich mich an diese halten?
Antworten:
Wenn man sich nur für Blockspeichergeräte interessiert , kann man
lsblk
aus einem weit verbreiteten Util-Linux-Paket Folgendes verwenden:Es eignet sich gut für die Skripterstellung mit vielen anderen verfügbaren Spalten.
quelle
Sie können die Ausgabe von
lshw
Geräten in derdisk
odertape
-Klassestorage
durchsuchen und Details zu diesen extrahieren (und möglicherweise auch andere - Klasse enthält Details zu Speichercontrollern, SCSI, SATA, SAS usw.).z.B
Die
-short
Option gibt eine schöne kompakte Zusammenfassung. zb auf meinem zfsonlinux server / workstation / experiment-box zuhause (leider keine bandgeräte):Die / 0/1-Geräte sind eigentlich ein USB-Kartenleser (in einen der Steckplätze ist eine 2 GB SD-Karte eingesteckt), und das / 0/2-Gerät ist mein Android-Handy, das nur zum Laden eingesteckt ist. Das 0/3 Gerät ist ein 4GB USB Stick.
lshw
Kann Klartext-, 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. Die Homepage und Quelle finden Sie unter http://ezix.org/project/wiki/HardwareLiSter
quelle
Bitte versuchen Sie diesen Befehl
Es listet alle Blockgeräte in Ihrem System auf
quelle
Mit können Sie
lsblk
alle blockierten Geräte auflisten und angeben, ob jedes Gerät schreibgeschützt ist oder nicht.Sie können dann
grep
und verwendenawk
, um die Namen von Blockgeräten auszudrucken, die nicht schreibgeschützt sind:quelle
lsblk
listet alle Blockspeichergeräte auf.fdisk -l
listet alle Partitionen auf allen Geräten auf, die in aufgelistet sind/proc/partitions
lshw -short
Hier erhalten Sie Informationen zur gesamten Hardware (außer möglicherweise Firewire) des Systems.quelle
Wenn, wie pro Ihre Antwort auf Derobert, bist du der Suche nach etwas , dass die Listen Bandlaufwerke und Drucker , die für Sie interessant sein
lsdev
,lsusb
undlspci
.quelle
fdisk -l
Sie können den folgenden Befehl versuchen:
quelle
Sie können hwinfo verwenden, um alle Datenträger aufzulisten ( Dokumentation ).
hwinfo --block --short
gibt einen Überblick:hwinfo --disk
gibt mehr Details für jede Platte an.Zu Ihrer Information: Auf einigen Linux-Distributionen wie Ubuntus 14.04 und höher ist hwinfo nicht im offiziellen Repository vorhanden .
quelle
Ich habe das gefunden
fdisk
und binlsblk
im virtuellen Terminal für den Debian-Installer nicht verfügbar. In diesem Fall verwende ichblkid
, was die UUID für Blockspeichergeräte bekommt.quelle
Wenn Sie RAID-Geräte verwenden, können Sie mit hdparm smartctl usw. keine korrekten Ergebnisse erzielen, da diese Tools nach / dev suchen, das Betriebssystem ist, wenn Sie auf Hardware-Ebene wissen möchten, dann benötigen Sie Tools wie megacli Früher habe ich mit Megacli debuggt
Um die Seriennummer der Festplatte zu erhalten
In der obigen Ausgabe enthalten die Anfragedaten die Seriennummer
quelle
Hier sind einige Befehle, mit denen ich nach lokalem und gemeinsam genutztem Speicher gesucht habe.
Zur lokalen Aufbewahrung
Für gemeinsam genutzten Speicher
quelle
loop
undtmpfs
Partition bekommen. Daher ist es besser, die Ausgabe mit grep wie oben zu bereinigen.Dies listet alle Ihre Festplatten und gemounteten Laufwerke auf:
quelle