Handbücher für die Kommandozeile

Man » lsblk-Handbuch online - detaillierte Online-Dokumentation für die lsblk-Manpage

🌍
lsblk - Blockgeräte auflisten

SYNOPSIS

lsblk [Optionen] [Gerät...]

BESCHREIBUNG

lsblk listet Informationen über alle verfügbaren oder die angegebenen Blockgeräte auf. Der Befehl lsblk liest das sysfs-Dateisystem und die udev-Datenbank, um Informationen zu sammeln. Wenn die udev-Datenbank nicht verfügbar ist oder lsblk ohne udev-Unterstützung kompiliert wurde, versucht es, LABELs, UUIDs und Dateisystemtypen vom Blockgerät zu lesen. In diesem Fall sind Root-Berechtigungen erforderlich.

Standardmäßig gibt der Befehl alle Blockgeräte (ausgenommen RAM-Disks) in einem baumartigen Format aus. Das gleiche Gerät kann im Baum wiederholt werden, wenn es sich auf andere Geräte bezieht. Die Option --merge wird für komplexere Konfigurationen empfohlen, um Gerätegruppen zusammenzufassen und komplexe N:M-Beziehungen zu beschreiben.

Die baumartige Ausgabe (oder das Array children[] in der JSON-Ausgabe) wird nur dann aktiviert, wenn die Spalte NAME in der Ausgabe vorhanden ist oder wenn die Befehlszeilenoption --tree verwendet wird. Siehe auch --nodeps und --list, um die Baumformatierung zu steuern.

Die Standardausgabe sowie die Standardausgabe von Optionen wie --fs und --topology können sich ändern. Verwenden Sie daher nach Möglichkeit nicht die Standardausgaben in Ihren Skripten. Definieren Sie stattdessen immer explizit die erwarteten Spalten mithilfe von --output columns-list und --list in Umgebungen, in denen eine stabile Ausgabe erforderlich ist.

Verwenden Sie lsblk --list-columns, um eine Liste aller verfügbaren Spalten zu erhalten.

Beachten Sie, dass lsblk möglicherweise zu einem Zeitpunkt ausgeführt wird, zu dem udev noch nicht alle Informationen über neu hinzugefügte oder geänderte Geräte hat. In diesem Fall wird empfohlen, vor der Ausführung von lsblk udevadm settle zu verwenden, um die Synchronisation mit udev zu erzwingen.

Die Beziehung zwischen Blockgeräten und Dateisystemen ist nicht immer eindeutig. Das Dateisystem kann mehrere Blockgeräte verwenden, oder das gleiche Dateisystem kann über mehrere Pfade zugänglich sein. Aus diesem Grund stellt lsblk die Spalten MOUNTPOINT und MOUNTPOINTS (Plural) bereit. Die Spalte MOUNTPOINT zeigt nur einen Mountpunkt an (normalerweise die zuletzt gemountete Instanz des Dateisystems), und die Spalte MOUNTPOINTS zeigt in einer mehrzeiligen Zelle alle mit dem Gerät verbundenen Mountpunkte an.

OPTIONEN

-A, --noempty

Leere Geräte werden nicht ausgegeben.

-a, --all

Deaktiviert alle integrierten Filter und listet alle leeren Geräte und RAM-Disk-Geräte auf.

-b, --bytes

Gibt die Größen in Byte anstatt in einem für Menschen lesbaren Format aus.

Standardmäßig wird die Einheit, in der die Größen ausgedrückt werden, in Byte angegeben, und die Einheitenpräfixe sind in Potenzen von 2^10 (1024). Abkürzungen von Symbolen werden verkürzt dargestellt, um die Lesbarkeit zu verbessern, indem nur der erste Buchstabe der Abkürzungen angezeigt wird; Beispiele: "1 KiB" und "1 MiB" werden als "1 K" bzw. "1 M" angezeigt, wobei der Teil "iB" dieser Abkürzungen absichtlich weggelassen wird.


-H, --list-columns
Listet die verfügbaren Spalten auf, verwenden Sie dies mit --json oder --raw, um die Ausgabe in einem maschinenlesbaren Format zu erhalten.

-D, --discard
Gibt Informationen über die Entsorgungsfunktionen (TRIM, UNMAP) für jedes Gerät aus.

-d, --nodeps
Gibt keine Geräte an, die als abhängige Geräte oder Slaves dienen. Zum Beispiel gibt `lsblk --nodeps /dev/sda` nur Informationen über das Gerät `sda` aus.

-E, --dedup column
Verwendet eine Spalte als Schlüssel für die Duplikatentfernung, um die Baumstruktur der Ausgabe zu bereinigen. Wenn der Schlüssel für ein Gerät nicht verfügbar ist oder das Gerät eine Partition ist und das übergeordnete Laufwerk den gleichen Schlüssel bereitstellt, wird das Gerät immer ausgegeben.

Der übliche Anwendungsfall ist die Bereinigung der Ausgabe auf Systemen mit Multipfad-Geräten, z. B. mit `-E WWN`.

-e, --exclude list
Schließt die durch die kommagetrennte Liste der Hauptgeräte-Nummern angegebenen Geräte aus. Beachten Sie, dass RAM-Disks (Hauptnummer=1) standardmäßig ausgeschlossen werden, es sei denn, --all ist angegeben. Der Filter wird nur auf die Geräte der obersten Ebene angewendet. Dies kann bei der Ausgabe `--list` verwirrend sein, da die Hierarchie der Geräte nicht offensichtlich ist.

-f, --fs
Gibt Informationen über Dateisysteme aus. Diese Option ist äquivalent zu `-o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS`. Die maßgebliche Information über Dateisysteme und RAID wird durch den Befehl `blkid(8)` bereitgestellt.

--hyperlink[=mode]
Gibt die Mountpoint-Pfade als Terminal-Hyperlinks aus. Der Modus kann auf "always", "never" oder "auto" gesetzt werden. Das optionale Argument `when` kann auf "auto", "never" oder "always" gesetzt werden. Wenn das Argument `when` weggelassen wird, wird es standardmäßig auf "auto" gesetzt. Die Einstellung "auto" bedeutet, dass Hyperlinks nur dann verwendet werden, wenn die Ausgabe auf einem Terminal erfolgt.

-I, --include list
Schließt die durch die kommagetrennte Liste der Hauptgeräte-Nummern angegebenen Geräte ein. Der Filter wird nur auf die Geräte der obersten Ebene angewendet. Dies kann bei der Ausgabe `--list` verwirrend sein, da die Hierarchie der Geräte nicht offensichtlich ist.

-i, --ascii
Verwendet ASCII-Zeichen für die Baumformatierung.

-J, --json
Verwendet das JSON-Ausgabeformat. Es wird dringend empfohlen, `--output` und gegebenenfalls `--tree` zu verwenden. Beachten Sie, dass `children[]` nur verwendet wird, wenn die Spalte `NAME` oder `--tree` verwendet wird.

-l, --list
Erzeugt die Ausgabe in Form einer Liste. Die Ausgabe liefert keine Informationen über die Beziehungen zwischen den Geräten, und seit Version 2.34 wird jedes Gerät nur einmal ausgegeben, es sei denn, `--pairs` oder `--raw` werden verwendet (die parsierbaren Ausgaben bleiben abwärtskompatibel).

-M, --merge
Gruppiert die übergeordneten Elemente von Teilbäumen, um eine besser lesbare Ausgabe für RAID- und Multipfad-Geräte zu erhalten. Die Baumartige Ausgabe ist erforderlich.

-m, --perms
Gibt Informationen über den Geräte-Besitzer, die Gruppe und den Modus aus. Diese Option ist äquivalent zu `-o NAME,SIZE,OWNER,GROUP,MODE`.

-N, --nvme
Gibt Informationen nur über NVMe-Geräte aus.

-v, --virtio
Gibt Informationen nur über Virtio-Geräte aus.

-n, --noheadings
Gibt keine Kopfzeile aus.

-o, --output list
Gibt an, welche Ausgabespalten ausgegeben werden sollen. Verwenden Sie `--list-columns`, um eine Liste aller unterstützten Spalten zu erhalten. Die Spalten können die Baumartige Ausgabe beeinflussen. Standardmäßig wird ein Baum für die Spalte `NAME` verwendet (siehe auch `--tree`).

Die Standardliste der Spalten kann erweitert werden, wenn eine Liste im Format +list angegeben wird (z. B. lsblk -o +UUID).

-O, --output-all

Gibt alle verfügbaren Spalten aus.

-P, --pairs

Erstellt die Ausgabe im Format von Schlüssel="Wert"-Paaren. Die Ausgabelinien sind weiterhin nach Abhängigkeiten sortiert. Alle potenziell unsicheren Zeichen in Werten werden hexadezimal kodiert (\x<code>). Siehe auch Option --shell.

-P, --paths

Gibt vollständige Gerätepfade aus.

-Q, --filter expr

Gibt nur die Geräte aus, die die in expr angegebenen Bedingungen erfüllen. Der Filter wird bevor lsblk Daten für alle Ausgabespalten sammelt, ausgewertet. Nur die für die Lazy- Auswertung des Ausdrucks erforderlichen Daten werden aus dem System abgerufen. Dieser Ansatz kann die Leistung im Vergleich zur Nachfilterung verbessern, wie sie üblicherweise von Tools wie grep(1) durchgeführt wird.

Dieses Feature ist EXPERIMENTELL. Siehe auch scols-filter(5). Zum Beispiel, um sda und sdb auszuschließen, aber alles andere auszugeben ('!~' ist ein negativer Operator für reguläre Ausdrücke):

lsblk --filter 'NAME !~ "sd[ab]"'

--highlight expr

Färbt Zeilen, die dem Ausdruck entsprechen, farblich. Dieses Feature ist EXPERIMENTELL. Siehe auch scols-filter(5).

--ct name [: param [: function ]]

Definiert einen benutzerdefinierten Zähler. Die Zähler werden nach der Standardausgabe ausgegeben. Der Name ist der benutzerdefinierte Name des Zählers, das optionale param ist der Name der Spalte, die für den Zähler verwendet werden soll, und die optionale Funktion gibt die Aggregationsfunktion an. Unterstützte Funktionen sind: count, min, max oder sum. Standardmäßig ist count.

Wenn `param` nicht angegeben ist, zählt der Zähler die Anzahl der Zeilen. Dieses Feature ist
EXPERIMENTELL. Siehe auch --ct-filter.

Zum Beispiel wird mit --ct MyCounter:SIZE:sum die Summe für SIZE von allen Zeilen gezählt; und um die Anzahl der SATA-Festplatten zu zählen, kann man Folgendes verwenden:

lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' --ct "Anzahl der SATA-Geräte"

--ct-filter expr

Definiert eine Einschränkung für den nächsten Zähler. Dieses Feature ist EXPERIMENTELL. Siehe auch --ct und scols-filter(5). Zum Beispiel, um Größen nach Gerätetyp zu aggregieren:

lsblk --ct-filter 'TYPE=="part"' --ct Partitions:SIZE:sum \
--ct-filter 'TYPE=="disk"' --ct WholeDisks:SIZE:sum

-r, --raw

Erstellt die Ausgabe im Rohformat. Die Ausgabelinien sind weiterhin nach Abhängigkeiten sortiert. Alle potenziell unsicheren Zeichen in den Spalten NAME, KNAME, LABEL, PARTLABEL und MOUNTPOINT werden hexadezimal kodiert (\x<code>).

-S, --scsi

Gibt nur Informationen über SCSI-Geräte aus. Alle Partitionen, Slaves und Haltergeräte werden ignoriert.

-s, --inverse

Gibt die Abhängigkeiten in umgekehrter Reihenfolge aus. Wenn die Ausgabe --list angefordert wird, sind die Zeilen immer noch nach Abhängigkeiten sortiert.

-T, --tree[=column]

Erzwingt ein baumartiges Ausgabeformat. Wenn eine Spalte angegeben ist, wird ein Baum in dieser Spalte ausgegeben. Standardmäßig ist dies die Spalte NAME.

-t, --topology

Gibt Informationen über die Blockgerät-Topologie aus. Diese Option ist äquivalent zu


-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME.

-w, --width number
Gibt die Ausgabebreite als Anzahl von Zeichen an. Standardmäßig ist dies die Anzahl der Spalten des Terminals, und wenn nicht in einem Terminal ausgeführt, wird die Ausgabebreite standardmäßig überhaupt nicht eingeschränkt. Diese Option zwingt lsblk außerdem dazu, davon auszugehen, dass Terminalsteuerzeichen und unsichere Zeichen nicht zulässig sind. Der beabsichtigte Anwendungsfall ist beispielsweise, wenn lsblk mit dem Befehl `watch(1)` verwendet wird.

-x, --sort column
Sortiert die Ausgabelinien nach Spalte. Diese Option aktiviert standardmäßig das Ausgabeformat `--list`. Es ist möglich, die Option `--tree` zu verwenden, um eine baumartige Ausgabe zu erzwingen, und dann werden die Zweige des Baums nach der Spalte sortiert.

-y, --shell
Der Spaltenname wird so geändert, dass er nur Zeichen enthält, die für Shell-Variablenbezeichner zulässig sind, z. B. `MIN_IO` und `FSUSE_PCT` anstelle von `MIN-IO` und `FSUSE%`. Dies kann beispielsweise mit `--pairs` verwendet werden. Beachten Sie, dass diese Funktion in Version 2.37 automatisch für `--pairs` aktiviert wurde, aber aufgrund von Kompatibilitätsproblemen ist es jetzt erforderlich, dieses Verhalten mit `--shell` anzufordern.

-z, --zoned
Gibt die zonenbezogenen Informationen für jedes Gerät aus.

--sysroot directory
Ruft Daten für eine andere Linux-Instanz ab als die, von der der Befehl `lsblk` ausgegeben wird. Das angegebene Verzeichnis ist das System-Root der zu untersuchenden Linux-Instanz. Die realen Geräteknoten im Zielverzeichnis können durch Textdateien mit Udev-Attributen ersetzt werden.

--properties-by list
Diese Option gibt die von `lsblk` zum Sammeln von Informationen über Dateisysteme und Partitionstabellen verwendeten Methoden an. Die Liste ist eine kommagetrennte Liste von Methodennamen. Die Standardeinstellung ist „file, udev, blkid“. Die unterstützten Methoden sind:

udev
Liest Daten aus der Udev-Datenbank. Wenn dies fehlschlägt, wird mit der nächsten Sondermethode fortgefahren.

blkid
Liest Daten direkt vom Gerät mithilfe von libblkid. Wenn dies fehlschlägt, wird mit der nächsten Sondermethode fortgefahren.

file
Liest Daten aus einer Datei. Diese Methode wird nur verwendet, wenn die Option `--sysroot` angegeben ist.
Diese Methode beendet das Sonden immer.

none
Führt keine Sondierung durch. Diese Methode beendet das Sonden immer.

-h, --help
Zeigt den Hilfetext an und beendet das Programm.

-V, --version
Zeigt die Version an und beendet das Programm.

BEENDIGUNGSSTATUS

0   Erfolg

1   Fehler

32  Keines der angegebenen Geräte gefunden

64  Einige der angegebenen Geräte gefunden, einige nicht

UMGEBUNG

LSBLK_DEBUG=all
aktiviert die Debug-Ausgabe von lsblk.

LIBBLKID_DEBUG=all
aktiviert die Debug-Ausgabe von libblkid.

LIBMOUNT_DEBUG=all
aktiviert die Debug-Ausgabe von libmount.

LIBSMARTCOLS_DEBUG=all
aktiviert die Debug-Ausgabe von libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on
verwendet sichtbare Auffüllzeichen.

HINWEISE

Für Partitionen werden einige Informationen (z. B. Warteschlangenattribute) vom übergeordneten Gerät übernommen.

Der Befehl lsblk muss in der Lage sein, jedes Blockgerät anhand der Haupt-/Nebennummern zu finden, was mithilfe von /sys/dev/block erfolgt. Dieses Sysfs-Blockverzeichnis wurde in Kernel 2.6.27 (Oktober 2008) eingeführt. Wenn Probleme mit einem neueren Kernel auftreten, stellen Sie sicher, dass CONFIG_SYSFS zum Zeitpunkt des Kernel-Builds aktiviert war.


AUTOREN

Milan Broz <_>, Karel Zak <_>

SIEHE AUCH

blkid(8), findmnt(8) ls(1), scols-filter(5)

FEHLERMELDUNGEN

Für Fehlermeldungen verwenden Sie das Issue-Tracking-System [https://github.com/util-linux/util-linux/issues].

VERFÜGBARKEIT

Der Befehl lsblk ist Teil des util-linux-Pakets, das vom Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/] heruntergeladen werden kann.