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.
-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ößen in Byte anstelle eines
menschenlesbaren Formats aus.
Standardmäßig werden die Größen in
Byte ausgedrückt und die Präfixe sind Potenzen der Form 2^10
(1024). Die Abkürzungen der Symbole werden zur besseren Lesbarkeit
abgeschnitten, indem jeweils nur der erste Buchstabe dargestellt wird.
Beispiele: »1 KiB« und »1 MiB« werden als
»1 K« bzw. »1 M« dargestellt. Die
Erwähnung des »iB«-Anteils, der Teil der
Abkürzung ist, entfällt absichtlich.
-H, --list-columns
listet die verfügbaren Spalten auf. Wenn Sie dies
zusammen mit --json oder --raw verwenden, erfolgt die Ausgabe in
einem maschinenlesbaren Format.
-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[=Modus]
gibt Einhängepunkt-Pfade als Terminal-Hyperlinks
aus. Der Modus kann auf »always«, »never«
oder »auto« gesetzt werden. Das optionale Argument wann
kann auf »always«, »never« oder
»auto« gesetzt werden. Falls das wann-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 die Zeilen entsprechend dem Ausdruck ein.
Dieses Funktionsmerkmal ist EXPERIMENTELL. Siehe auch
scols-filter(5).
--ct Name [: Parameter [: Funktion
]]
gibt einen benutzerdefinierten Zähler an. Die
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, wird die Zeilenanzahl
gezählt. Dieses Funktionsmerkmal ist EXPERIMENTELL. Siehe auch
--ct-filter.
For example, --ct MyCounter:SIZE:sum will count the summary
for SIZE from all lines; and to count the number of SATA disks, it is
possible to use:
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). Folgendermaßen
führen Sie Größen nach Gerätetyp zusammen:
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.