Articles

how to list all hard disks in linux from command line

Festplatte, Festplatte, Diskettenlaufwerk oder Hard Disk Drive sind alles Namen für ein Datenspeichergerät (Hardware-Gerät) zum Speichern und Abrufen von digitalen Informationen in der Regel in einem Computer. An einen Computer können mehrere Festplatten angeschlossen sein, sowohl interne als auch externe.

Diese Festplatten können nun weiter in mehrere logische Container unterteilt werden, um verschiedene Dateisysteme zu beherbergen oder um Dateisysteme/Dateien getrennt zu halten. Diese werden Partitionen genannt und können dann unabhängig voneinander gemountet werden, ohne die anderen Festplatten und Partitionen zu beeinflussen.

Festplatten auf einem System werden von verschiedenen Gerätetreibern im Kernel erkannt bzw. identifiziert und dann beim Booten mit einer eindeutigen Geräte-ID versehen, so dass sie später gemountet und gelesen werden können (ja, das ist eine starke Vereinfachung der Funktionsweise, aber für diesen Beitrag sollte es genügen). Wir werden später in diesem Beitrag sehen, wie Sie Festplatten auflisten können, die vom System identifiziert wurden.

Die Festplatten können anhand der Schnittstelle unterschieden werden, die zur Interaktion mit ihnen verwendet wird. Einige der häufig verwendeten Festplattentypen sind SCSI (Small Computer System Interface), ATA oder IDE (Advanced Technology Attachment), SATA (Serial ATA), SAS (Serial Attached SCSI) und andere. Wie bereits erwähnt, wird der physischen Festplatte beim Start eine eindeutige ID zugewiesen. Diese kann (u. a. mit udev) so konfiguriert werden, dass Sie ihr so ziemlich jede id zuweisen können, aber normalerweise folgen die meisten Systeme einigen allgemein akzeptierten Konventionen bei der Benennung von Geräten.

Es gibt mehrere verschiedene Befehle, die Sie in einer Linux-Umgebung verwenden können, um die im System eingehängten Festplatten aufzulisten.

df

Der Befehl df ist in erster Linie dazu gedacht, den Speicherplatz im Dateisystem zu melden. Es ist immer noch ein gutes Dienstprogramm, um die dem System zur Verfügung stehenden Festplatten auszudrucken, obwohl es eher Dateisysteme als Festplatten an sich ausgibt.

Sie können die Option -h oder -human-readable mit df verwenden, um die Plattennutzung in einem für Menschen lesbaren Format auszugeben. Suchen Sie nach Dateisystemen, die sich als /dev/sda, /dev/sdb oder /dev/hda identifizieren, um die Festplatten zu identifizieren.

lsblk

Der Befehl lsblk dient dazu, Blockgeräte aufzulisten. Er liest die Daten aus der udev-Datenbank zusammen mit dem sysfs-Dateisystem, um einen Bericht über alle verfügbaren oder angegebenen Blockgeräte zu erstellen. Blockgeräte abstrahieren die tatsächlichen Hardwareeigenschaften jedes physischen Geräts und ermöglichen es Ihnen, über eine gepufferte Schnittstelle mit ihnen zu interagieren.

Der Befehl lsblk ohne ein Argument gibt die Blockgeräte in einem Baumformat aus. Achten Sie auch hier auf Namen, wie sda, sdb usw. Die oberste Ebene bezeichnet die Festplatte und die Kinder der ersten Ebene stellen die Partitionen im Block dar.

Es gibt einige nützliche Kommandozeilenoptionen, die mit dem Befehl lsblk verwendet werden können. Das -d oder -nodeps gibt das Gerät und nicht die Partitionen aus. Das -S oder -scsi gibt nur die SCSI-Geräte aus.

lshw

Ein weiteres häufig verwendetes Dienstprogramm ist lshw, das detaillierte Informationen über Ihre Hardware ausgeben kann. Auch hier ist es in manchen Distributionen nicht standardmäßig vorhanden, obwohl es eine Systemanwendung ist.

bash$ lshw -class disk

Der obige Befehl listet alle Festplatten im System auf. Sie können auch die Speicherklasse angeben, wenn Sie auch die Speicher-Controller ausgeben möchten. Sie können die Ausführlichkeit der Ausgabe weiter reduzieren, indem Sie die Option -short Option

bash$ lshw -class disk -class storage -short

blkid

Der bereits erwähnte Befehl lsblk ist eine bessere und empfohlene Option als der Befehl blkid. Ich füge ihn hier nur der Vollständigkeit halber ein.

blkid gibt verschiedene Attribute über die Blockgeräte aus. Aus der Ausgabe können Sie in der Regel wie bei lsblk die Platten und Partitionen erkennen.

bash$ blkid

fdisk

fdisk ist ein beliebter Befehl, der meist zur Manipulation der Partitionstabelle verwendet wird. Sie können es verwenden, um alle Partitionen aus der Partitionstabelle aufzulisten und die verfügbaren Geräte zu finden. Die Kommandozeilenoption -list oder -l gibt alle bekannten Partitionen von allen Geräten aus.

bash$ fdisk -l

Sie suchen wahrscheinlich nach so etwas in der Ausgabe.

Es gibt ein paar andere Tools zur Manipulation der Partitionstabelle, die auf fdisk aufbauen und mehr Optionen und Funktionen haben. sfdisk und cfdisk sind zwei solche Beispiele. Sie sind jedoch in den meisten Distributionen nicht installiert.

parted

Nach dem Vorbild von fdisk ist parted ein weiteres Werkzeug zur Manipulation der Partitionstabelle. Auch hier können Sie die Kommandozeilenoption -list oder -l verwenden, um die Geräte oder Festplatten und alle dazugehörigen Informationen auszudrucken. Mir gefällt die Standardausgabe von parted besser als die von fdisk, aber das ist subjektiv.

bash$ parted -l

Model: ATA ST3160815AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

/proc/ file

Eine andere rudimentäre Möglichkeit ist, den Inhalt des Ordners /proc/partitions/ auszudrucken. Dies wird alle bekannten Geräte und Partitionen im System ausdrucken. Zu diesem Zeitpunkt sollten Sie in der Lage sein, zwischen dem Laufwerk und den Partitionen zu unterscheiden, nehme ich an.

bash$ cat /proc/partitions

Suchen Sie nach dem Minor ‚0‘ oder einem Namen, der dem Format /dev/sda entspricht.

lsscsi

Wenn Sie wissen, dass Sie nur SCSI-Geräte haben oder nur die Informationen über SCSI-Platten benötigen, dann können Sie den Befehl lsscsi verwenden. Dieses Dienstprogramm ist bei einigen Distributionen möglicherweise nicht standardmäßig installiert.

Wie der Name des Befehls schon sagt, gibt er alle Informationen über die SCSI-Geräte auf dem System aus.

bash$ lsscsi

Unabhängig davon, welche Distribution Sie verwenden, sollten Sie in der Lage sein, die Festplatten auf Ihrem System mit mindestens einem der oben aufgeführten Befehle aufzulisten.

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.