Linux lsblk Befehl mit praktischen Beispielen

LinuxBeginner
Jetzt üben

Einführung

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

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

Am Ende dieses Labs werden Sie in der Lage sein, den Befehl lsblk mit verschiedenen Optionen zu verwenden, um detaillierte Informationen über die Speichergeräte auf Ihrem Linux-System zu erhalten.

Linux Commands Cheat Sheet

Grundlegende Verwendung des lsblk-Befehls

Der Befehl lsblk steht für "list block devices" (Blockgeräte auflisten) und wird verwendet, um Informationen über alle verfügbaren Blockgeräte auf Ihrem Linux-System anzuzeigen. Blockgeräte sind Speichergeräte wie Festplatten, SSDs und USB-Laufwerke.

Beginnen wir damit, den grundlegenden lsblk-Befehl im Terminal auszuführen:

  1. Öffnen Sie Ihr Terminal, falls es noch nicht geöffnet ist.

  2. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

lsblk

Sie sollten eine Ausgabe ähnlich dieser sehen:

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 Nebengerätenummern
  • RM: Removable-Flag (1 bedeutet entfernbar, 0 bedeutet nicht entfernbar)
  • SIZE: Die Größe des Geräts
  • RO: Read-only-Flag (1 bedeutet schreibgeschützt, 0 bedeutet Lese- und Schreibzugriff)
  • TYPE: Gerätetyp (disk, partition, loop usw.)
  • MOUNTPOINT: Wo das Gerät eingehängt (mounted) ist (falls zutreffend)

Im obigen Beispiel können Sie Folgendes sehen:

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

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

Nachdem Sie die grundlegende Ausgabe des lsblk-Befehls 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.

Verwenden der Option -f zur Anzeige von Dateisysteminformationen

Die Option -f zeigt Dateisysteminformationen an, einschließlich des Dateisystemtyps, der Bezeichnung (label), der UUID und des Einhängepunkts (mount point). 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 ähnlich dieser sehen:

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 jetzt zusätzliche Spalten:

  • FSTYPE: Der Dateisystemtyp (ext4, swap, squashfs usw.)
  • LABEL: Jede zugewiesene Dateisystembezeichnung
  • UUID: Der Universal Unique Identifier für das Dateisystem

Verwenden der Option -m zur Anzeige von Gerätebesitzer- und Modusinformationen

Die Option -m zeigt Berechtigungen und Besitzerinformationen für die Blockgeräte an. Dies ist nützlich, wenn Sie Probleme im Zusammenhang mit Berechtigungen beheben müssen.

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 Gruppenzugehörigkeit des Geräts (typischerweise disk)
  • MODE: Der Berechtigungsmodus des Geräts

Verwenden der Option -o zur Auswahl bestimmter Ausgabespalten

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 sauberere, fokussiertere Ausgabe wünschen.

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

lsblk -o NAME,SIZE,MOUNTPOINT

Die Ausgabe wird viel einfacher sein:

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 nur auf die benötigten Informationen zu konzentrieren. Sie können mehrere Optionen kombinieren, um genau die Informationen zu erhalten, die Sie benötigen, in dem Format, das für Ihre Anforderungen am besten geeignet ist.

Blockgeräte mit lsblk filtern

In diesem Schritt lernen wir, wie man die Ausgabe des Befehls lsblk filtert, um sich auf bestimmte Arten von Blockgeräten zu konzentrieren oder Informationen in verschiedenen Formaten anzuzeigen.

Filtern nach Gerätetyp

Der Befehl lsblk ermöglicht es Ihnen, Geräte nach ihrem Typ mit der Option --type oder -t zu filtern. Häufige Gerätetypen sind:

  • disk: Physische Festplatten
  • part: Partitionen
  • loop: Loop-Geräte
  • lvm: Logische Volumes

Um nur Festplattengeräte anzuzeigen, führen Sie den folgenden Befehl aus:

lsblk --type disk

Die Ausgabe zeigt nur die Hauptfestplatten, ohne ihre Partitionen:

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    8:0    0   50G  0 disk

Um nur Partitionsgeräte anzuzeigen, führen Sie entsprechend Folgendes aus:

lsblk --type part

Die Ausgabe zeigt nur die Partitionen:

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda1   8:1    0   49G  0 part /
sda2   8:2    0  976M  0 part [SWAP]

Anzeigen von Gerätepfaden

Die Option --paths zeigt die vollständigen Gerätepfade an, anstatt nur die Gerätenamen. 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 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]

Anzeigen der Ausgabe im JSON-Format

Die Option --json gibt die Informationen im JSON-Format aus, was für die programmgesteuerte Verarbeitung oder die Integration mit anderen Tools 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 Kontrolle

Sie können mehrere Optionen kombinieren, um genau die Informationen zu erhalten, die Sie benötigen. Zum Beispiel, um nur Festplattengeräte mit ihren vollständigen Pfaden im JSON-Format anzuzeigen:

lsblk --type disk --paths --json

Die Ausgabe ist eine JSON-Darstellung nur der Festplattengeräte mit ihren vollständigen Pfaden:

{
  "blockdevices": [
    {
      "name": "/dev/sda",
      "maj:min": "8:0",
      "rm": false,
      "size": "50G",
      "ro": false,
      "type": "disk"
    }
  ]
}

Diese Filteroptionen machen den Befehl lsblk sehr flexibel und ermöglichen es Ihnen, präzise die Informationen über Blockgeräte auf Ihrem System zu erhalten, die Sie benötigen.

Erweiterte Verwendung von lsblk für praktische Szenarien

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

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

Um die Festplattennutzung und den verfügbaren Speicherplatz zu überprüfen, können Sie lsblk mit der Option -b (um Größen in Bytes anzuzeigen) kombinieren und bestimmte Spalten auswählen:

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

Die Ausgabe zeigt Informationen zur Festplattennutzung an:

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: Wo 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 Wechseldatenträgern suchen:

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

Suchen Sie in der Ausgabe nach Geräten mit dem RM (removable)-Wert von 1:

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 Sie ein USB-Laufwerk angeschlossen hätten, würde es typischerweise als zusätzliche Festplatte (z. B. sdb) mit dem RM-Wert von 1 angezeigt.

Ermitteln von Geräte-Seriennummern

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

lsblk -o NAME,SIZE,TYPE,SERIAL

Die Ausgabe enthält Seriennummern für Geräte, die diese Informationen 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 haben typischerweise keine Seriennummern.

Analysieren von Festplatten-Leistungsattributen

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

lsblk --topology

Die Ausgabe enthält Topologieinformationen wie Ausrichtung und optimale 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 die Leistungsoptimierung und die Fehlerbehebung von I/O-bezogenen Problemen 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 sammeln.

Zusammenfassung

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

  • Die grundlegende Verwendung von lsblk, um eine baumartige Auflistung aller Blockgeräte anzuzeigen
  • Wie man zusätzliche Informationen anzeigt, einschließlich Dateisystemdetails, Eigentümer/Berechtigungen und benutzerdefinierte Spaltenauswahlen
  • Filtertechniken, um sich auf bestimmte Gerätetypen oder Anzeigeformate zu konzentrieren
  • Erweiterte Nutzungsszenarien für Systemadministrationsaufgaben

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 die genauen Informationen zu erhalten, die Sie über Festplatten, Partitionen und andere Blockgeräte auf Ihrem System benötigen.

Durch die Beherrschung des Befehls lsblk können Sie effektiver:

  • Speichergeräte identifizieren und verwalten
  • Die Festplattennutzung und den verfügbaren Speicherplatz überwachen
  • Probleme im Zusammenhang mit der Speicherung beheben
  • Die Speicherkonfiguration Ihres Systems dokumentieren

Diese Fähigkeiten bilden eine wichtige Grundlage für fortgeschrittenere Linux-Systemadministrationsaufgaben im Zusammenhang mit der Speicherverwaltung.

Linux Commands Cheat Sheet