LSBLK(8)

BEZEICHNUNG
lsblk - Blockgeräte auflisten

ÜBERSICHT

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

BESCHREIBUNG

lsblk listet Informationen zu allen oder den angegebenen blockorientierten Geräten auf. Der Befehl lsblk liest das sysfs-Dateisystem und die udev-Datenbank, um die Informationen zu beziehen. Falls die Udev-DB nicht verfügbar ist oder lsblk ohne Udev-Unterstützung übersetzt wurde, dann versucht es, LABELSs, UUIDs und Dateisystemtypen aus dem Blockgerät zu lesen. In diesem Fall sind Rootrechte notwendig.

Standardmäßig gibt der Befehl alle blockorientierten Geräte (außer RAM-Disks) in einer Baumansicht aus. Ein Gerät kann in der Baumansicht mehrfach erscheinen, falls es Bezüge zu anderen Geräten gibt. Die Option --merge wird in komplizierteren Setups empfohlen, um Gerätegruppen zusammenzufassen und komplexe N:M-Beziehungen zu beschreiben.

Die Baumansicht (oder das children[]-Feld in der JSON-Ausgabe) ist nur aktiviert, wenn die NAME-Spalte in der Ausgabe vorhanden ist oder wenn die Befehlszeilenoption --tree verwendet wird. Siehe auch --nodeps und --list zur Beeinflussung der Formatierung der Baumansicht.

Sowohl die standardmäßige Ausgabe als auch die Ausgabe mit Optionen wie --fs und --topology ist Änderungen unterworfen. Daher sollten Sie vermeiden, voreingestellte Ausgaben in Ihren Skripten zu verwenden. Definieren Sie in Umgebungen, wo eine konsistente Ausgabe erforderlich ist, stets ausdrücklich mit --output Spaltenliste und --list, welche Spalten Sie benötigen.

Mit lsblk --list-columns erhalten Sie eine Liste aller verfügbaren Spalten.

Beachten Sie, dass lsblk zu einem Zeitpunkt ausgeführt werden könnte, wenn udev noch nicht über alle Informationen zu kürzlich hinzugefügten oder geänderten Geräten verfügt. In diesem Fall ist es empfehlenswert, zunächst mit udevadm settle einen Abgleich mit udev auszuführen, bevor lsblk aufgerufen wird.

Blockgeräte und Dateisysteme lassen sich nicht immer 1:1 aufeinander abbilden. Das Dateisystem kann mehr Blockgeräte verwenden oder auf ein Dateisystem kann über mehrere Pfade zugegriffen werden. Aus diesem Grund stellt lsblk die Spalten MOUNTPOINT und MOUNTPOINTS bereit. Die Spalte MOUNTPOINT zeigt nur einen Einhängepunkt an (üblicherweise die zuletzt eingehängte Instanz des Dateisystems, und die MOUNTPOINTS-Spalte zeigt in mehrzeiligen Zellen alle Einhängepunkte an, die diesem Gerät zugerordnet sind.

OPTIONEN

-A, --noempty
    gibt keine leeren Geräte aus.

-a, --all
    deaktiviert alle eingebauten Filter und gibt auch alle leeren Geräte und RAM-Disk-Geräte aus.

-b, --bytes
    gibt die Größe in Byte anstelle eines menschenlesbaren Formats aus.

    Standardmäßig werden Größen in Einheiten angezeigt, die Potenzen von 1024 Bytes sind. Die formalen Abkürzungen für diese Einheiten (KiB, MiB, GiB usw.) werden weiter auf den Anfangsbuchstaben verkürzt: K, M, G usw.

-H, --list-columns
    listet die Spalten auf,die mit der Option --output angegeben werden können. Wenn Sie dies zusammen mit --json oder --raw verwenden, wird die Liste in einem maschinenlesbaren Format angezeigt.

-D, --discard
    gibt Informationen zu den Discard-Fähigkeiten (TRIM, UNMAP) für jedes Gerät aus.

-d, --nodeps
    unterdrückt die Ausgabe von über- oder untergeordneten Geräten. Beispielsweise gibt lsblk --nodeps /dev/sda nur Informationen zum Gerät sda aus.

-E, --dedup Spalte
    verwendet die angegebene Spalte als »Deduplizierungsschlüssel«, um Duplikate aus dem ausgegebenen Baum zu entfernen. Falls der Schlüssel für das Gerät nicht verfügbar ist oder das Gerät eine Partition ist und das übergeordnete Eltern-Laufwerksgerät den selben Schlüssel bereitstellt, wird das Gerät immer angezeigt.

    Der übliche Anwendungsfall ist die Deduplizierung der Ausgabe auf Multi-Pfad-Geräten des Systems, zum Beispiel durch -E WWN.

-e, --exclude Liste
    schließt alle Geräte aus, deren Major-Gerätenummern in der durch Kommata getrennten Liste aufgeführt sind. Beachten Sie, dass RAM-Disks (major=1) per Vorgabe nicht angezeigt werden, falls --all nicht angegeben ist. Der Filter wird nur auf Geräte der obersten Ebene angewendet. Dies kann für die Ausgabe mit --list verwirrend sein, da dort die Hierarchie der Geräte nicht offensichtlich ist.

-f, --fs
    gibt Informationen zu Dateisystemen aus. Diese Option ist gleichbedeutend mit -o NAME,FSTYPE,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS. Die maßgebenden Informationen über Dateisysteme und RAIDs werden vom Befehl blkid(8) geliefert.

--hyperlink[=wann]
    gibt Pfade als Terminal-Hyperlinks aus. Das optionale Argument wann kann auf »always«, »never« oder »auto« gesetzt werden. Falls das Argument fehlt, ist »auto« die Vorgabe. Die Einstellung »auto« bedeutet, dass Hyperlinks nur dann verwendet werden, wenn die Ausgabe auf einem Terminal erfolgt.

-I, --include Liste
    schließt alle Geräte ein, deren Major-Gerätenummern in der durch Kommata getrennten Liste aufgeführt sind. Der Filter wird nur auf Geräte der obersten Ebene angewendet. Dies kann für die Ausgabe mit --list verwirrend sein, da dort die Hierarchie der Geräte nicht offensichtlich ist.

-i, --ascii
    verwendet ASCII-Zeichen für die Formatierung der Baumansicht.

-J, --json
    verwendet das JSON-Ausgabeformat. Es wird ausdrücklich empfohlen, --output zu verwenden, und falls nötig, auch --tree. Beachten Sie, dass children[] nur dann verwendet wird, falls die NAME-Spalte oder die Option --tree verwendet wird.

-l, --list
    erstellt die Ausgabe in Form einer Liste. Die Ausgabe stellt keine Informationen über Beziehungen zwischen Geräten bereit. Seit Version 2.34 wird jedes Gerät nur einmal ausgegeben, falls --pairs oder --raw nicht angegeben ist (die auswertbaren Ausgaben werden abwärtskompatibel gehalten).

-M, --merge
    gruppiert die Elterneinträge von Unterbäumen, um die Ausgabe für RAIDs und Multi-Pfad-Geräte besser lesbar zu machen. Die Ausgabe in Baumform ist erforderlich.

-m, --perms
    gibt Informationen zum Besitzer des Gerätes, der Gruppe und des Modus aus. Diese Option ist gleichbedeutend mit -o NAME,SIZE,OWNER,GROUP,MODE.

-N, --nvme
    gibt nur Informationen zu NVMe-Geräten aus.

-v, --virtio
    gibt nur Informationen zu Virtio-Geräten aus.

-n, --noheadings
    unterdrückt die Ausgabe einer Kopfzeile.

-o, --output Liste
    gibt die anzuzeigenden Spalten an. Mit --list-columns erhalten Sie eine Liste aller unterstützten Spalten. Die Spalten könnten sich auf die Ausgabe in Baumform auswirken. Standardmäßig wird die Baumansicht für die Spalte »NAME« verwendet (siehe auch --tree).

    Die voreingestellte Liste der Spalten kann erweitert werden, indem Sie die Liste im Format +Liste angeben (beispielsweise -o +UUID).

-O, --output-all
    gibt alle verfügbaren Spalten aus.

-P, --pairs
    gibt die Daten in Form von Schlüssel="Wert"-Paaren aus. Die Ausgabezeilen sind noch nach Abhängigkeiten angeordnet. Alle potenziell unsicheren Zeichen werden hexadezimal maskiert (\x<code>). Siehe auch die Option --shell.

-p, --paths
    gibt vollständige Gerätepfade aus.

-Q, --filter Ausdruck
    gibt nur die Geräte aus, die den durch den Ausdruck angegebenen Bedingungen entsprechen. Der Filter wird angewendet, bevor lsblk die Daten für alle Ausgabespalten sammelt. Nur die für die »faule« Auslegung des Ausdrucks notwendigen Daten werden aus dem System ermittelt. Dieser Ansatz kann im Vergleich zur nachträglichen Filterung die Performance verbessern, wie es üblicherweise bei Werkzeugen wie grep(1) geschieht.

    Dieses Funktionsmerkmal ist EXPERIMENTELL. Siehe auch scols-filter(5).

    Um beispielsweise sda und sdb auszuschließen, aber alles andere auszuzugeben, rufen Sie Folgendes auf(»!~« ist hierbei ein Negierungsoperator für den regulären Ausdruck):

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

--highlight Ausdruck
    färbt Zeilen anhand des Ausdrucks ein.

    Dieses Funktionsmerkmal ist EXPERIMENTELL. Siehe auch scols-filter(5).

--ct Name[:Parameter[:Funktion]]
    gibt einen benutzerdefinierten Zähler an. Die benutzerdefinierten Zähler werden nach der Standardausgabe angegeben. Der Name ist der benutzerdefinierte Name des Zählers, der optionale Parameter ist der Name der Spalte, die für den Zähler verwendet werden soll, und die ebenfalls optionale Funktion gibt die Aggregationsfunktion an. Folgende Funktionen werden unterstützt: count, min, max oder sum. Die Vorgabe ist count. Falls kein Parameter angegeben ist, zählt der Zähler die Zeilenanzahl.

    Dieses Funktionsmerkmal ist als EXPERIMENTELL anzusehen. Siehe auch --ct-filter.

    Beispielsweise gibt --ct MyCounter:SIZE:sum die Summe der SIZE-Werte aus. Um die Anzahl der SATA-Festplatten auszugeben, kann man Folgendes verwenden:

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

--ct-filter Ausdruck
    definiert eine Einschränkung für den nächsten Zähler.

    Dieses Funktionsmerkmal ist EXPERIMENTELL. Siehe auch --ct und scols-filter(5).

    So können Sie beispielsweise Größen nach Gerätetyp zusammenfassen:

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

-r, --raw
    gibt das Rohformat aus. Die Ausgabezeilen sind noch nach Abhängigkeiten geordnet. Alle potenziell unsicheren Zeichen werden in den Spalten NAME, KNAME, LABEL, PARTLABEL und MOUNTPOINT (\x<code>) hexadezimal maskiert.

-S, --scsi
    gibt nur Informationen zu SCSI-Geräten aus. Alle Partitionen, unter- und übergeordnete Geräte werden ignoriert.

-s, --inverse
    gibt Abhängigkeiten in umgekehrter Reihenfolge aus. Falls die Ausgabe --list angefragt wird, dann werden die Zeilen weiterhin nach Abhängigkeiten sortiert.

-T, --tree[=Spalte]
    erzwingt die Ausgabe in Baumform. Falls eine Spalte angegeben ist, wird ein von dieser Spalte ausgehende Baum angezeigt. Standardmäßig wird die NAME-Spalte verwendet.

-t, --topology
    gibt Informationen zur Verbindungsstruktur der blockorientierten Geräte aus. Diese Option ist gleichbedeutend mit

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

-w, --width Zahl
    gibt die Ausgabebreite als Anzahl der Zeichen an. Vorgabe ist die Anzahl der Terminalspalten. Falls das Programm nicht auf einem Terminal ausgeführt wird, ist die Ausgabebreite standardmäßig unbegrenzt. Diese Option zwingt lsblk außerdem, Terminal-Steuerzeichen und unsichere Zeichen als unzulässig zu betrachten. Ein Anwendungsfall wäre beispielsweise, wenn lsblk vom Befehl watch(1) verwendet wird.

-x, --sort Spalte
    sortiert die Ausgabezeilen gemäß Spalte. Diese Option aktiviert standardmäßig das Ausgabeformat --list. Es ist möglich, die Option --tree zu verwenden, um baumartige Ausgabe zu erzwingen, dann sind die Zweige des Baumes gemäß Spalte sortiert.

-y, --shell
    Der Spaltenname wird so geändert, dass er nur Zeichen enthält, die als Shell-Variablenbezeichner genutzt werden können, zum Beispiel MIN_IO und FSUSE_PCT anstelle von MIN-IO und FSUSE%. Dies ist beispielsweise nützlich mit --pairs. Beachten Sie, dass diese Funktion für --pairs in Version 2.37 automatisch aktiviert wurde, dass es nun aber aus Kompatibilitätsgründen erforderlich ist, dieses Verhalten durch --shell anzufordern.

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

--sysroot Verzeichnis
    Sammelt Daten für eine Linux-Instanz, die nicht die Linux-Instanz ist, von der der Befehl lsblk aufgerufen wird. Das angegebene Verzeichnis ist die Systemwurzel der zu untersuchenden Linux-Instanz. Die echten Geräteknoten im Zielverzeichnis können durch Textdateien mit Udev-Attributen ersetzt werden.

--properties-by Liste
    gibt die Methoden an, die von lsblk zum Sammeln von Informationen über Dateisysteme und Partitionstabellen verwendet werden. Die Liste besteht aus Methodennamen, durch Kommata getrennt. Die Standardeinstellung ist »file,udev,blkid«. Folgende Methoden werden unterstützt:

    udev
        liest Daten aus der udev-Datenbank. Falls nicht erfolgreich, setzt es mit der nächsten Methode fort.

    blkid
        liest Daten mittels libblkid direkt aus dem Gerät. Falls nicht erfolgreich, setzt es mit der nächsten Methode fort.

    file
        liest Daten aus einer Datei. Diese Methode wird nur verwendet, wenn die Option --sysroot angegeben wird. Diese Methode stoppt, wenn sie verwendet wird, das Probieren weiterer Methoden.

    none
        Stoppt, wenn es verwendet wird, das Probieren weiterer Methoden.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

EXIT-STATUS

0
    Erfolg

1
    Fehlschlag

32
    keines der angegebenen Geräte wurden gefunden

64
    einige der angegebenen Geräte wurden gefunden, andere nicht

FARBEN

Die farbige Darstellung der Ausgabe wird über die Funktionen in terminal-colors.d(5) gesteuert. Die implizierte Einfärbung kann deaktiviert werden, indem Sie folgende (leere) Datei anlegen:

    /etc/terminal-colors.d/lsblk.disable

für den Befehl lsblk oder für alle Befehle mit

    /etc/terminal-colors.d/disable

Seit Version 2.41 wird auch die Umgebungsvariable $NO_COLOR unterstützt, um die farbige Darstellung der Ausgabe zu deaktivieren, sofern sie nicht explizit durch eine Befehlszeilenoption aktiviert wird.

Die benutzerspezifischen Dateien $XDG_CONFIG_HOME/terminal−colors.d oder $HOME/.config/terminal−colors.d setzen die globale Einstellung außer Kraft.

Beachten Sie, dass die Einfärbung der Ausgabe standardmäßig aktiviert sein könnte und in diesem Fall die terminal-colors.d-Verzeichnisse noch nicht zwangsläufig vorhanden sein müssen.

UMGEBUNGSVARIABLEN

LSBLK_DEBUG=all
    aktiviert die Debug-Ausgabe für lsblk.

LIBBLKID_DEBUG=all
    aktiviert die Fehlersuch-Ausgabe von libblkid

LIBMOUNT_DEBUG=all
    aktiviert die Fehlersuchausgabe für libmount.

LIBSMARTCOLS_DEBUG=all
    aktiviert die Debug-Ausgabe für libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on
    verwendet sichtbare Auffüllzeichen.

LSBLK_COLUMNS=
    gibt eine durch Kommas getrennte Liste der auszugebenden Spalten an. Alle durch --list-columns aufgeführten Spalten können verwendet werden.

ANMERKUNGEN

Für die Partitionen werden einige Informationen (zum Beispiel Warteschlangen-Attribute) von dem Elterngerät übernommen.

Der Befehl lsblk muss in der Lage sein, nach jedem blockorientierten Gerät anhand der Major:Minor-Nummern zu suchen, wofür /sys/dev/block verwendet wird. Dieses sysfs-Block-Verzeichnis erschien in Kernel 2.6.27 (Oktober 2008). Sollten mit einem ausreichend neuen Kernel Probleme auftreten, prüfen Sie, ob CONFIG_SYSFS bei der Erstellung des Kernels aktiviert war.

AUTOREN

SIEHE AUCH

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

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das

VERFÜGBARKEIT

Der Befehl lsblk ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.