lsblk-Befehl: Aufbau von Festplatten und Partitionen und UUID prüfen
Der Befehl lsblk gibt die mit einem Server verbundenen Festplatten und Partitionen sowie ihre Einhängepunkte als Baum aus und zeigt auf einen Blick Festplattengröße, Dateisystemtyp und sogar die UUID. Als wir lsblk auf einem AlmaLinux-9-Server ausgeführt haben, erschienen die von snap-Paketen erzeugten loop-Geräte vor der Festplatte, deshalb haben wir sie mit -e 7 herausgefiltert. Anschließend haben wir mit -f das xfs-Dateisystem und die UUID der Root-Partition geprüft.
Die Festplattengrößen und UUIDs in der Ausgabe unten sind Beispielwerte.
1️⃣ Die Standardausgabe des Befehls lsblk lesen
Auf einem Server, auf dem Programme mit snap installiert wurden, listet lsblk ohne Optionen vor der Festplatte für jede Paketversion ein eingehängtes loop-Gerät auf. Deshalb gibt man mit -e die Gerätenummer der loop-Geräte, 7, an und blendet sie aus.
lsblk -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 80G 0 disk
├─nvme0n1p1 259:1 0 1M 0 part
├─nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─nvme0n1p3 259:3 0 1G 0 part /boot
└─nvme0n1p4 259:4 0 78.8G 0 part /nvme0n1 in der Spalte NAME ist die Festplatte. nvme0n1p1 bis nvme0n1p4, darunter mit [├─] und [└─] verbunden, sind die Partitionen, in die diese Festplatte aufgeteilt ist. Das ist wie die Etagentafel am Eingang eines Gebäudes, auf der unter dem Namen des Gebäudes steht, was sich auf jeder Etage befindet.
In der Spalte TYPE erscheinen Festplatten als [disk] und Partitionen als [part], und die Spalte MOUNTPOINTS zeigt den Ordner, in den die jeweilige Partition eingehängt ist. Auf dem geprüften Server war die Root-Partition nvme0n1p4 unter / und nvme0n1p3 unter /boot eingehängt. Die 1M große nvme0n1p1 ist eine BIOS-Boot-Partition, die zum Booten von einer GPT-Festplatte dient, daher hat sie keinen Einhängepunkt.
MAJ:MIN sind die Major- und Minor-Nummer, die der Kernel einem Gerät zuweist; loop-Geräte haben 7, die geprüfte NVMe-Festplatte hatte 259. RM zeigt mit 1 oder 0, ob ein Gerät wechselbar ist, RO, ob es schreibgeschützt ist.
SIZE wird leicht als freier Speicher gelesen, ist aber die Gesamtgröße der Festplatte oder Partition. Den freien Speicher eines Dateisystems prüft man in der Spalte FSAVAIL, die mit -f erscheint.
Im Diagramm unten lässt sich Schritt für Schritt vergleichen, wie sich Zeilen und Spalten der Ausgabe je nach Option ändern.
2️⃣ lsblk -f: Dateisysteme und UUIDs prüfen
Die Standardausgabe zeigt keinen Dateisystemtyp, deshalb prüft man mit -f, wie eine Partition formatiert wurde. -f gibt acht Spalten aus: NAME, FSTYPE, FSVER, LABEL, UUID, FSAVAIL, FSUSE% und MOUNTPOINTS.
lsblk -f -e 7NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1
├─nvme0n1p2 vfat FAT16 5A1E-3B7C 192.1M 4% /boot/efi
├─nvme0n1p3 xfs 6d2f0c4e-8b1a-4f3d-a7e2-9c5b1d0e4f28 691.4M 28% /boot
└─nvme0n1p4 xfs 2b9e7f41-c3d6-4a85-b0f1-7e4a2c9d6b13 68.5G 13% /Bei der Ausführung waren die Root- und die /boot-Partition xfs, /boot/efi war vfat in der Version FAT16. Die Festplatte nvme0n1 und nvme0n1p1 haben kein Dateisystem und blieben daher leer. Die UUID ist eine eindeutige Nummer, die jedes Dateisystem erhält; in /etc/fstab gibt man damit die einzuhängende Partition per UUID statt per Gerätename an.
Am genauesten prüft man Dateisysteminformationen mit dem blkid-Befehl.
FSAVAIL und FSUSE% sind der freie Speicher und die Belegung eines eingehängten Dateisystems. Bei nicht eingehängten Partitionen erscheinen keine Werte. Der df-Befehl gibt nur Größe und Belegung eingehängter Dateisysteme aus. lsblk zeigt zusätzlich den Aufbau von Festplatten und Partitionen, unabhängig davon, ob sie eingehängt sind.
3️⃣ lsblk -o zur Spaltenauswahl und -b für Bytes
Schreibt man nach -o Spaltennamen durch Kommas getrennt, erscheinen nur diese Spalten in dieser Reihenfolge. Die verfügbaren Spaltennamen stehen in der Liste am Ende von [lsblk --help].
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT -e 7NAME SIZE FSTYPE MOUNTPOINT
nvme0n1 80G
├─nvme0n1p1 1M
├─nvme0n1p2 200M vfat /boot/efi
├─nvme0n1p3 1G xfs /boot
└─nvme0n1p4 78.8G xfs /MOUNTPOINT gibt nur einen Einhängepunkt aus, MOUNTPOINTS dagegen alle, wenn dasselbe Dateisystem an mehreren Stellen eingehängt ist. Um hinter den Standardspalten nur eine Spalte hinzuzufügen, setzt man + vor den Spaltennamen, etwa [-o +UUID].
-b gibt Größen als ganze Zahlen in Byte aus. Zum Vergleichen mit dem Auge sind die Standardeinheiten leichter zu lesen, daher passt -b zu Skripten, die Größen berechnen oder vergleichen.
lsblk -b -o NAME,SIZE -e 7NAME SIZE
nvme0n1 85899345920
├─nvme0n1p1 1048576
├─nvme0n1p2 209715200
├─nvme0n1p3 1073741824
└─nvme0n1p4 84613774848G und M in der Standardausgabe sind Einheiten von 1.024, daher erscheint die 80G-Festplatte als 85.899.345.920 Byte.
4️⃣ lsblk -d für die Festplattenliste und -p für vollständige Pfade
Auf einem Server mit mehreren Festplatten mischen sich die Partitionszeilen dazwischen und die Festplattenliste wird unübersichtlich, deshalb lässt man mit -d die Partitionen weg und gibt nur die Festplattenzeilen aus.
lsblk -d -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 80G 0 disk In der Ausgabe blieb nur die eine Zeile der Festplatte nvme0n1, die vier Partitionszeilen darunter erschienen nicht.
Mit -p wird /dev/ vor die Gerätenamen gesetzt und sie erscheinen als vollständige Pfade. Diese Pfade lassen sich direkt an andere Befehle wie mount übergeben.
lsblk -p -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
/dev/nvme0n1 259:0 0 80G 0 disk
├─/dev/nvme0n1p1 259:1 0 1M 0 part
├─/dev/nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─/dev/nvme0n1p3 259:3 0 1G 0 part /boot
└─/dev/nvme0n1p4 259:4 0 78.8G 0 part /Nur die Spalte NAME wechselt zu vollständigen Pfaden, von /dev/nvme0n1 bis /dev/nvme0n1p4; die übrigen Spalten sind wie in der Standardausgabe.
Übergibt man einen Gerätepfad als Argument, werden nur dieses Gerät und die Partitionen darunter ausgegeben; bei einem Partitionspfad erscheint nur die Zeile dieser Partition.
lsblk /dev/nvme0n1p4NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1p4 259:4 0 78.8G 0 part /In der Ausgabe erscheint nur die eine Zeile für nvme0n1p4, ohne Festplattenzeile und Verzweigungszeichen. Mit einem Gerätepfad, der nicht existiert, kam der Fehler [not a block device], und der Exit-Code war 32.
5️⃣ Ausgabe und Optionen des Befehls lsblk für Skripte
Es liegt nahe, die Standardausgabe in Skripten zu zerschneiden, doch die Spaltenzusammensetzung der Standardausgabe und von -f kann sich künftig ändern. In Skripten gibt man die Spalten deshalb mit -o selbst an.
-n lässt die Kopfzeile weg und gibt nur die Werte aus. Das passt, wenn man nur einen Wert braucht, etwa den Dateisystemtyp einer einzelnen Partition.
lsblk -no FSTYPE /dev/nvme0n1p4xfsOhne Kopfzeile erscheint nur ein Wort, xfs, der Dateisystemtyp der Root-Partition. Man kann es also direkt in einer Shell-Variable speichern.
-P gibt jede Spalte in der Form [Name=”Wert”] in einer Zeile aus. In util-linux 2.37 unter AlmaLinux 9 werden schon mit -P allein die Namen so geändert, dass sie sich gut als Shell-Variablen lesen lassen, etwa MAJ:MIN zu MAJ_MIN und FSUSE% zu FSUSE_PCT.
lsblk -P -o NAME,FSTYPE,MOUNTPOINT /dev/nvme0n1p4NAME="nvme0n1p4" FSTYPE="xfs" MOUNTPOINT="/"Die drei angegebenen Spalten erscheinen in einer Zeile in der Reihenfolge NAME, FSTYPE, MOUNTPOINT. Alle Werte stehen in doppelten Anführungszeichen.
-J gibt JSON aus. Ohne -d landen die Partitionen im Array children unter der Festplatte. Zusammen mit -b wird nur size zur Zahl, andere Größenspalten wie FSAVAIL bleiben Zeichenketten.
lsblk -J -d -o NAME,SIZE,TYPE -e 7{
"blockdevices": [
{
"name": "nvme0n1",
"size": "80G",
"type": "disk"
}
]
}Mit -d enthält das Array blockdevices nur die Festplatte, und das Array children erscheint nicht.
🔲 Optionen des Befehls lsblk
| Option | Kopieren | Beschreibung |
|---|---|---|
| -e, --exclude | Schließt Geräte mit der angegebenen Major-Nummer aus. Mit 7 fallen loop-Geräte weg. | |
| -f, --fs | Gibt Dateisystemtyp, UUID, freien Speicher und Belegung aus. | |
| -o, --output | Gibt nur die durch Kommas angegebenen Spalten der Reihe nach aus. | |
| -b, --bytes | Gibt die Spalte SIZE als ganze Zahlen in Byte aus. | |
| -d, --nodeps | Lässt Partitionszeilen weg und gibt nur Festplattenzeilen aus. | |
| -p, --paths | Gibt Gerätenamen als vollständige Pfade aus, die mit /dev/ beginnen. | |
| -n, --noheadings | Lässt die Kopfzeile weg und gibt nur die Werte aus. | |
| -P, --pairs | Gibt Spaltennamen und Werte paarweise in einer Zeile aus. | |
| -J, --json | Gibt im JSON-Format aus. | |
| -a, --all | Gibt auch leere Geräte mit der Größe 0 aus. |
| Option | Kopieren | Beschreibung |
|---|---|---|
| -I, --include | Gibt nur Geräte mit der angegebenen Major-Nummer aus. | |
| -l, --list | Gibt im Listenformat statt als Baum aus. | |
| -r, --raw | Gibt im raw-Format aus, ohne die Spalten auszurichten. | |
| -i, --ascii | Gibt die Baumlinien mit ASCII-Zeichen aus. | |
| -s, --inverse | Kehrt die Abhängigkeiten um und gibt Festplatten unter den Partitionen aus. | |
| -S, --scsi | Gibt nur Informationen zu SCSI-Geräten aus. | |
| -t, --topology | Gibt Topologie-Informationen wie Sektorgröße und I/O-Scheduler aus. | |
| -m, --perms | Gibt Eigentümer, Gruppe und Berechtigungen der Geräte aus. | |
| -x, --sort | Sortiert nach der angegebenen Spalte und gibt im Listenformat aus. | |
| -O, --output-all | Gibt alle verfügbaren Spalten aus. |
🔲 Simulator für den Befehl lsblk
Im Simulator unten kannst du die bisherigen Befehle selbst eingeben und prüfen, wie sich die Ausgabe je nach Option ändert.
🔢 FAQ & empfohlene Inhalte
Linux · Swap
Swap-Speicher (Swap Memory) einrichten
So legt man mit den Befehlen mkswap und swapon Swap-Speicher als Partition oder als Datei an.
Linux · Festplatte
Linux-Befehl dd
Grundlegende Verwendung, Optionen und Beispiele des Befehls dd, mit dem man Festplatten und Partitionen klont oder Image-Dateien erstellt.
Festplatte · Grundlagen
Was ist ein Festplattensektor?
Erklärt den grundlegenden Aufbau einer Festplatte und was ein Festplattensektor ist: die Aufteilung des Speichermediums in Einheiten fester Größe.
ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.