Linux lsblk-Befehl mit praktischen Beispielen

LinuxBeginner
Jetzt üben

Einführung

In diesem Lab werden wir den Linux-Befehl lsblk erkunden, der Informationen über alle verfügbaren Blockgeräte auf Ihrem System anzeigt. Zu den Blockgeräten gehören Festplatten, SSDs, USB-Laufwerke und andere Speichermedien. Der Befehl lsblk präsentiert diese Informationen in einem klaren, baumartigen Format, das es einfach macht, die Beziehung zwischen verschiedenen Speichergeräten und deren Partitionen zu verstehen.

Das Verständnis von Speichergeräten ist für jeden, der mit Linux-Systemen arbeitet, von entscheidender Bedeutung. Egal, ob Sie verfügbaren Speicher identifizieren, Partitionsgrößen überprüfen oder Einhängepunkte (Mountpoints) verifizieren müssen – der Befehl lsblk bietet eine schnelle und effiziente Möglichkeit, diese Informationen zusammenzutragen.

Am Ende dieses Labors werden Sie in der Lage sein, den Befehl lsblk mit verschiedenen Optionen zu verwenden, um detaillierte Informationen über die Speichergeräte Ihres Linux-Systems abzurufen.

Spickzettel für Linux-Befehle

Grundlegende Verwendung des Befehls lsblk

In diesem Schritt verwenden Sie den Befehl lsblk, um Informationen über die verfügbaren Blockgeräte auf Ihrem Linux-System anzuzeigen. Blockgeräte sind Speichergeräte wie Festplatten, SSDs und USB-Laufwerke.

Öffnen Sie das Terminal, falls es noch nicht geöffnet ist. Führen Sie dann den einfachen Befehl lsblk aus:

lsblk

Sie sollten eine Ausgabe sehen, die der folgenden ähnelt:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  55.5M  1 loop /snap/core18/2128
loop1    7:1    0  55.4M  1 loop /snap/core18/2284
loop2    7:2    0  43.6M  1 loop /snap/snapd/15534
loop3    7:3    0  61.9M  1 loop /snap/gtk-common-themes/1535
loop4    7:4    0  31.1M  1 loop /snap/snapd/16292
sda      8:0    0   50G  0 disk
├─sda1   8:1    0   49G  0 part /
└─sda2   8:2    0  976M  0 part [SWAP]

Diese Ausgabe zeigt alle Blockgeräte auf Ihrem System mit den folgenden Spalten:

  • NAME: Der Gerätename
  • MAJ:MIN: Haupt- und Nebennummer des Geräts (Major- und Minor-Nummer)
  • RM: Wechsellaufwerks-Flag (Removable; 1 bedeutet wechselfähig, 0 bedeutet nicht wechselfähig)
  • SIZE: Die Größe des Geräts
  • RO: Schreibgeschützt-Flag (Read-only; 1 bedeutet schreibgeschützt, 0 bedeutet lesen/schreiben)
  • TYPE: Gerätetyp (Festplatte, Partition, Loop usw.)
  • MOUNTPOINT: Der Ort, an dem das Gerät eingehängt ist (falls zutreffend)

Im obigen Beispiel sehen Sie:

  • Mehrere loop-Geräte, die von Snap-Paketen verwendet werden
  • Ein Hauptspeichergerät sda (eine 50-GB-Festplatte)
  • Zwei Partitionen auf sda: sda1 (eingehängt im Wurzelverzeichnis /) und sda2 (als Auslagerungsspeicher bzw. Swap verwendet)

Die baumartige Struktur in der Ausgabe erleichtert die Visualisierung, welche Partitionen zu welchen Festplatten gehören. Sie können beispielsweise sehen, dass sowohl sda1 als auch sda2 Partitionen der Festplatte sda sind.

Nun, da Sie die grundlegende Ausgabe des Befehls lsblk verstanden haben, wollen wir in den nächsten Schritten einige nützliche Optionen erkunden.

Zusätzliche Informationen mit lsblk anzeigen

In diesem Schritt lernen wir, wie man den Befehl lsblk mit verschiedenen Optionen verwendet, um detailliertere Informationen über Blockgeräte anzuzeigen.

Verwendung der Option -f zur Anzeige von Dateisysteminformationen

Die Option -f zeigt Dateisysteminformationen an, einschließlich Dateisystemtyp, Bezeichnung (Label), UUID und Einhängepunkt. Dies ist besonders nützlich, wenn Sie Geräte anhand ihrer UUID identifizieren oder überprüfen müssen, welche Dateisystemtypen verwendet werden.

Führen Sie den folgenden Befehl in Ihrem Terminal aus:

lsblk -f

Sie sollten eine Ausgabe sehen, die der folgenden ähnelt:

NAME   FSTYPE   LABEL UUID                                 MOUNTPOINT
loop0  squashfs                                            /snap/core18/2128
loop1  squashfs                                            /snap/core18/2284
loop2  squashfs                                            /snap/snapd/15534
loop3  squashfs                                            /snap/gtk-common-themes/1535
loop4  squashfs                                            /snap/snapd/16292
sda
├─sda1 ext4           5fbb8eed-12a3-4b5c-9d67-9594ff4e2d1c /
└─sda2 swap           b409ae25-7589-44eb-a909-b56f1d42c5ab [SWAP]

Die Ausgabe enthält nun zusätzliche Spalten:

  • FSTYPE: Der Dateisystemtyp (ext4, swap, squashfs usw.)
  • LABEL: Eine eventuell zugewiesene Dateisystembezeichnung
  • UUID: Die universelle eindeutige Kennung (Universally Unique Identifier) für das Dateisystem

Verwendung der Option -m zur Anzeige von Gerätebesitzer- und Berechtigungsinformationen

Die Option -m zeigt Berechtigungen und Besitzerinformationen für die Blockgeräte an. Dies ist nützlich bei der Behebung von Problemen im Zusammenhang mit Zugriffsrechten.

Führen Sie den folgenden Befehl aus:

lsblk -m

Sie sollten eine Ausgabe wie diese sehen:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT OWNER GROUP MODE
loop0    7:0    0  55.5M  1 loop /snap/core18/2128 root  disk  brw-rw----
loop1    7:1    0  55.4M  1 loop /snap/core18/2284 root  disk  brw-rw----
loop2    7:2    0  43.6M  1 loop /snap/snapd/15534 root  disk  brw-rw----
loop3    7:3    0  61.9M  1 loop /snap/gtk-common-themes/1535 root  disk  brw-rw----
loop4    7:4    0  31.1M  1 loop /snap/snapd/16292 root  disk  brw-rw----
sda      8:0    0   50G  0 disk            root  disk  brw-rw----
├─sda1   8:1    0   49G  0 part /          root  disk  brw-rw----
└─sda2   8:2    0  976M  0 part [SWAP]     root  disk  brw-rw----

Die neuen Spalten zeigen:

  • OWNER: Der Benutzer, dem das Gerät gehört (typischerweise root)
  • GROUP: Die Gruppe, der das Gerät zugeordnet ist (typischerweise disk)
  • MODE: Der Berechtigungsmodus des Geräts

Verwendung der Option -o zur Auswahl spezifischer Ausgab Spalten

Mit der Option -o können Sie angeben, welche Spalten angezeigt werden sollen. Dies ist nützlich, wenn Sie nur bestimmte Informationen benötigen und eine übersichtlichere, fokussiertere Ausgabe wünschen.

Lassen Sie uns nur die Spalten für Name, Größe und Einhängepunkt anzeigen:

lsblk -o NAME,SIZE,MOUNTPOINT

Die Ausgabe wird wesentlich einfacher ausfallen:

NAME    SIZE MOUNTPOINT
loop0  55.5M /snap/core18/2128
loop1  55.4M /snap/core18/2284
loop2  43.6M /snap/snapd/15534
loop3  61.9M /snap/gtk-common-themes/1535
loop4  31.1M /snap/snapd/16292
sda     50G
├─sda1   49G /
└─sda2  976M [SWAP]

Diese angepasste Ausgabe erleichtert es, sich auf die wesentlichen Informationen zu konzentrieren. Sie können mehrere Optionen kombinieren, um genau die Informationen zu erhalten, die Sie in dem für Ihre Zwecke optimalen Format benötigen.

Filtern von Blockgeräten mit lsblk

In diesem Schritt lernen wir, wie man die Ausgabe des Befehls lsblk einschränkt und Informationen in verschiedenen Formaten anzeigt.

Nur Geräte der obersten Ebene anzeigen

Die Option --nodeps (abgekürzt als -d) lässt abhängige Geräte wie Partitionen weg. Dies ist nützlich, wenn Sie eine kompakte Ansicht der Blockgeräte auf der obersten Ebene wünschen.

Führen Sie den folgenden Befehl aus:

lsblk --nodeps

Die Ausgabe zeigt Geräte der obersten Ebene ohne deren Partitionshierarchie. Gerätenamen und -größen variieren je nach System:

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda  253:0    0   40G  0 disk
vdb  253:16   0  100G  0 disk /etc/hosts

Ausschließen von Geräten nach Hauptnummer (Major Number)

Die Option --exclude (abgekürzt als -e) akzeptiert eine durch Kommas getrennte Liste von Hauptgerätenummern, die weggelassen werden sollen. Loop-Geräte verwenden beispielsweise die Hauptnummer 7, sodass der folgende Befehl sie ausschließt:

lsblk --exclude 7

Dieser Filter gilt für Geräte der obersten Ebene. Ihre abhängigen Partitionen können dennoch im Baum erscheinen.

Gerätepfade anzeigen

Die Option --paths zeigt die vollständigen Gerätepfade anstelle der bloßen Gerätenamen an. Dies ist nützlich, wenn Sie in Skripten oder Befehlen auf die Geräte verweisen müssen.

Führen Sie den folgenden Befehl aus:

lsblk --paths

Die Ausgabe enthält nun die vollständigen Gerätepfade:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/loop0    7:0    0  55.5M  1 loop /snap/core18/2128
/dev/loop1    7:1    0  55.4M  1 loop /snap/core18/2284
/dev/loop2    7:2    0  43.6M  1 loop /snap/snapd/15534
/dev/loop3    7:3    0  61.9M  1 loop /snap/gtk-common-themes/1535
/dev/loop4    7:4    0  31.1M  1 loop /snap/snapd/16292
/dev/sda      8:0    0   50G  0 disk
├─/dev/sda1   8:1    0   49G  0 part /
└─/dev/sda2   8:2    0  976M  0 part [SWAP]

Ausgabe im JSON-Format anzeigen

Die Option --json gibt die Informationen im JSON-Format aus, was für die programmatische Verarbeitung oder die Integration in andere Werkzeuge nützlich ist.

Führen Sie den folgenden Befehl aus:

lsblk --json

Die Ausgabe erfolgt im JSON-Format:

{
  "blockdevices": [
    {
      "name": "loop0",
      "maj:min": "7:0",
      "rm": false,
      "size": "55.5M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/core18/2128"
    },
    {
      "name": "loop1",
      "maj:min": "7:1",
      "rm": false,
      "size": "55.4M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/core18/2284"
    },
    {
      "name": "loop2",
      "maj:min": "7:2",
      "rm": false,
      "size": "43.6M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/snapd/15534"
    },
    {
      "name": "loop3",
      "maj:min": "7:3",
      "rm": false,
      "size": "61.9M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/gtk-common-themes/1535"
    },
    {
      "name": "loop4",
      "maj:min": "7:4",
      "rm": false,
      "size": "31.1M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/snapd/16292"
    },
    {
      "name": "sda",
      "maj:min": "8:0",
      "rm": false,
      "size": "50G",
      "ro": false,
      "type": "disk",
      "children": [
        {
          "name": "sda1",
          "maj:min": "8:1",
          "rm": false,
          "size": "49G",
          "ro": false,
          "type": "part",
          "mountpoint": "/"
        },
        {
          "name": "sda2",
          "maj:min": "8:2",
          "rm": false,
          "size": "976M",
          "ro": false,
          "type": "part",
          "mountpoint": "[SWAP]"
        }
      ]
    }
  ]
}

Kombinieren von Optionen für präzise Steuerung

Sie können mehrere Optionen kombinieren, um exakt die benötigten Informationen zu erhalten. Wenn Sie beispielsweise abhängige Geräte und Loop-Geräte weglassen und gleichzeitig die vollständigen Pfade im JSON-Format anzeigen möchten:

lsblk --nodeps --exclude 7 --paths --json

Die Ausgabe ist eine JSON-Darstellung der verbleibenden Geräte der obersten Ebene mitsamt ihren vollständigen Pfaden:

{
  "blockdevices": [
    {
      "name": "/dev/vda",
      "maj:min": "253:0",
      "rm": false,
      "size": "40G",
      "ro": false,
      "type": "disk"
    }
  ]
}

Diese Filteroptionen machen den Befehl lsblk äußerst flexibel und ermöglichen es Ihnen, genau die Informationen über Blockgeräte auf Ihrem System abzurufen, die Sie benötigen.

Fortgeschrittene Verwendung von lsblk für praktische Szenarien

In diesem Schritt erkunden wir praktische Szenarien, in denen sich der Befehl lsblk für Systemadministrations- und Fehlerbehebungsaufgaben als wertvoll erweist.

Überprüfen der Festplattenbelegung und des verfügbaren Speicherplatzes

Um die Festplattenbelegung und den freien Speicherplatz zu prüfen, können Sie lsblk mit der Option -b (zur Anzeige der Größen in Bytes) kombinieren und spezifische Spalten auswählen:

lsblk -b -o NAME,SIZE,FSAVAIL,FSUSE%,MOUNTPOINT

Die Ausgabe zeigt Informationen zur Festplattenbelegung:

NAME     SIZE FSAVAIL FSUSE% MOUNTPOINT
loop0  58195968        0     - /snap/core18/2128
loop1  58130432        0     - /snap/core18/2284
loop2  45719552        0     - /snap/snapd/15534
loop3  64897024        0     - /snap/gtk-common-themes/1535
loop4  32604160        0     - /snap/snapd/16292
sda   53687091200       -     -
├─sda1 52613349376 39128932352  26% /
└─sda2 1023410176        0     - [SWAP]

Die Spalten zeigen:

  • SIZE: Die Gesamtgröße in Bytes
  • FSAVAIL: Verfügbarer Speicherplatz auf dem Dateisystem
  • FSUSE%: Prozentsatz des verwendeten Dateisystems
  • MOUNTPOINT: Der Ort, an dem das Gerät eingehängt ist

Identifizieren von USB-Laufwerken

Wenn Sie ein USB-Laufwerk anschließen, können Sie lsblk verwenden, um es schnell zu identifizieren, indem Sie nach Wechsellaufwerken (removable devices) Ausschau halten:

lsblk -o NAME,SIZE,TYPE,RM,MOUNTPOINT

Achten Sie in der Ausgabe auf Geräte, bei denen der Wert von RM (Wechsellaufwerk) auf 1 steht:

NAME   SIZE TYPE RM MOUNTPOINT
loop0  55.5M loop  0 /snap/core18/2128
loop1  55.4M loop  0 /snap/core18/2284
loop2  43.6M loop  0 /snap/snapd/15534
loop3  61.9M loop  0 /snap/gtk-common-themes/1535
loop4  31.1M loop  0 /snap/snapd/16292
sda     50G disk  0
├─sda1   49G part  0 /
└─sda2  976M part  0 [SWAP]

Wenn ein USB-Laufwerk angeschlossen wäre, würde es typischerweise als zusätzliches Laufwerk (wie z. B. sdb) mit einem RM-Wert von 1 erscheinen.

Finden von Seriennummern von Geräten

Für die Hardware-Bestandsaufnahme oder die Fehlerbehebung müssen Sie möglicherweise die Seriennummern von Geräten ermitteln. Der Befehl lsblk kann diese Informationen anzeigen:

lsblk -o NAME,SIZE,TYPE,SERIAL

Die Ausgabe enthält die Seriennummern für jene Geräte, die diese Information bereitstellen:

NAME   SIZE TYPE SERIAL
loop0  55.5M loop
loop1  55.4M loop
loop2  43.6M loop
loop3  61.9M loop
loop4  31.1M loop
sda     50G disk ABCD1234
├─sda1   49G part
└─sda2  976M part

Beachten Sie, dass nicht alle Geräte Seriennummern melden und virtuelle Geräte wie Loop-Geräte in der Regel keine Seriennummern besitzen.

Analysieren von Festplatten-Leistungsmerkmalen

Um Leistungsattribute (Topology) von Festplatten anzuzeigen, können Sie die Option --topology oder -t verwenden:

lsblk --topology

Die Ausgabe enthält Topologieinformationen wie Ausrichtung (Alignment) und optimale E/A-Größe (I/O-Größe):

NAME   ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED     RQ-SIZE  RA WSAME
loop0          0    512      0     512     512    1 mq-deadline     256 128    0B
loop1          0    512      0     512     512    1 mq-deadline     256 128    0B
loop2          0    512      0     512     512    1 mq-deadline     256 128    0B
loop3          0    512      0     512     512    1 mq-deadline     256 128    0B
loop4          0    512      0     512     512    1 mq-deadline     256 128    0B
sda            0    512      0     512     512    1 mq-deadline     256 128    0B
├─sda1         0    512      0     512     512    1 mq-deadline     256 128    0B
└─sda2         0    512      0     512     512    1 mq-deadline     256 128    0B

Diese Informationen können für Leistungsoptimierungen (Tuning) und die Behebung E/A-bezogener Probleme nützlich sein.

Diese praktischen Beispiele zeigen, wie vielseitig der Befehl lsblk für alltägliche Systemadministrationsaufgaben ist. Durch die Beherrschung dieser Techniken können Sie schnell wichtige Informationen über Speichergeräte auf Ihrem Linux-System zusammentragen.

Zusammenfassung

In diesem Lab haben wir den Linux-Befehl lsblk kennengelernt – ein leistungsstarkes Werkzeug zum Auflisten und Anzeigen von Informationen über Blockgeräte auf Ihrem System. Wir haben dabei mehrere wichtige Aspekte des Befehls behandelt:

  • Die grundlegende Verwendung von lsblk zur Anzeige einer baumartigen Liste aller Blockgeräte
  • Das Anzeigen zusätzlicher Informationen einschließlich Dateisystemdetails, Besitzer/Berechtigungen und benutzerdefinierter Spaltenauswahl
  • Filtertechniken, um sich auf bestimmte Gerätetypen oder Ausgabeformate zu konzentrieren
  • Fortgeschrittene Anwendungszenarien für Aufgaben der Systemadministration

Der Befehl lsblk ist ein unverzichtbares Werkzeug für Linux-Systemadministratoren und -benutzer, die Speichergeräte verwalten müssen. Seine flexiblen Optionen ermöglichen es Ihnen, schnell genau die Informationen zu erhalten, die Sie über Festplatten, Partitionen und andere Blockgeräte auf Ihrem System benötigen.

Indem Sie den Befehl lsblk beherrschen, können Sie effektiver:

  • Speichergeräte identifizieren und verwalten
  • Die Festplattenbelegung und den freien Speicherplatz überwachen
  • Speicherbezogene Probleme beheben
  • Die Speicher Konfiguration Ihres Systems dokumentieren

Diese Fähigkeiten bilden ein wichtiges Fundament für fortgeschrittenere Aufgaben der Linux-Systemadministration im Bereich der Speicherverwaltung.

Spickzettel für Linux-Befehle