Linux lsblk Befehl für Anfänger (8 Beispiele)

Unter Linux sind Blockgeräte spezielle Dateien, die sich auf ein Gerät beziehen oder es repräsentieren (was von einer Festplatte bis zu einem USB-Laufwerk alles sein kann). Daher gibt es natürlich Befehlszeilen-Tools, die Ihnen bei der Arbeit mit Blockgeräten helfen. Sobald ein solches Dienstprogramm lsblk ist.

In diesem Tutorial werden wir diesen Befehl anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle hier genannten Beispiele auf einem Ubuntu 18.04 LTS-Rechner getestet wurden.

Linux lsblk Befehl

Der Befehl lsblk unter Linux listet Blockgeräte auf. Folgendes ist seine Syntax:

lsblk [options] [device...]

Und so erklärt es die Man Page des Tools:

       lsblk  lists  information  about  all  available or the specified block
       devices.  The lsblk command reads the sysfs filesystem and udev  db  to
       gather  information.  If  the udev db is not available or lsblk is com?
       piled without udev support than it tries  to  read  LABELs,  UUIDs  and
       filesystem  types  from the block device. In this case root permissions
       are necessary.

The command prints all block devices (except RAM disks) in a  tree-like
format  by  default.   Use  lsblk –help to get a list of all available
columns.

The default output, as well as the default  output  from  options  like
–fs  and  –topology, is subject to change.  So whenever possible, you
should avoid using default outputs in your scripts.  Always  explicitly
define  expected columns by using –output columns-list in environments
where a stable output is required.

Note that lsblk might be executed in time when udev does not  have  all
information  about recently added or modified devices yet. In this case
it is recommended to use udevadm settle  before  lsblk  to  synchronize
with udev

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine bessere Vorstellung davon vermitteln sollen, wie lsblk funktioniert.

Q1. Wie verwendet man den Befehl lsblk?

Die grundlegende Verwendung ist ziemlich einfach – führen Sie einfach’lsblk‘ ohne jede Option aus.

lsblk

Es folgt die Ausgabe dieses Befehls auf meinem System:

Wie man den Befehl lsblk verwendet

Die erste Spalte listet die Gerätenamen auf, gefolgt von den entsprechenden Haupt- und Nebengerätenummern, unabhängig davon, ob das Gerät entfernbar ist (1, falls vorhanden), die Größe des Geräts, ob das Gerät nur lesbar ist oder nicht, den Gerätetyp (Festplatte, Partition usw.) und schließlich den Mount-Punkt des Geräts (falls vorhanden).

Q2. Wie kann man erreichen, dass lsblk auch leere Geräte anzeigt?

Standardmäßig zeigt der Befehl lsblk nur nicht leere Geräte an. Sie können das Tool jedoch auch zwingen, leere Geräte anzuzeigen. Verwenden Sie dazu die Kommandozeilenoption -a.

lsblk -a

Zum Beispiel in meinem Fall hat der obige Befehl die folgende Ausgabe erzeugt:

Wie man lsblk dazu bringt, auch leere Geräte anzuzeigen.

Die Zeile’loop 13′ ist in diesem Fall der neue Zusatz.

Q3. Wie kann man lsblk Druckgrößeninformationen in Bytes erstellen?

Standardmäßig druckt lsblk Größeninformationen in menschenlesbarer Form. Während dieses gute, gibt es Zeiten, in denen Sie Größe in Bytes benötigen können. Was gut ist, ist, dass es eine Option (-b) gibt, die dies tut.

lsblk -b

Es folgt eine exemplarische Ausgabe:

Wie man lsblk Druckgröße Info in den Bytes bildet

So sehen Sie, dass die Spalte’Größe‘ nun Einträge in Bytes enthält.

Q4. Wie kann man lsblk Druckzonenmodell für jedes Gerät erstellen?

Dies kannst du mit der Kommandozeilenoption -z tun.

lsblk -z

Zum Beispiel, hier ist die Ausgabe des oben genannten Befehls, der auf meinem System erzeugt wurde:

NAME   ZONED
loop0  none
loop1  none
loop2  none
loop3  none
loop4  none
loop5  none
loop6  none
loop7  none
loop8  none
loop9  none
loop10 none
loop11 none
loop12 none
sda    none
??sda1 none
??sda2 none
??sda3 none
??sda4 none
??sda5 none
??sda6 none
??sda7 none
??sda8 none
sdb    none
??sdb1 none
??sdb2 none

Q5. Wie kann man lsblk Skip-Einträge für Slaves machen?

Dazu müssen Sie die Befehlszeilenoption -d verwenden, die lsblk anweist, keine Informationen über Haltergeräte oder Slaves zu drucken.

lsblk -d

Hier ist eine exemplarische Ausgabe:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0   3.3M  1 loop /snap/gnome-system-monitor/36
loop1    7:1    0  86.6M  1 loop /snap/core/4486
loop2    7:2    0   140M  1 loop /snap/gnome-3-26-1604/59
loop3    7:3    0    21M  1 loop /snap/gnome-logs/25
loop4    7:4    0    87M  1 loop /snap/core/5145
loop5    7:5    0   1.6M  1 loop /snap/gnome-calculator/154
loop6    7:6    0   2.3M  1 loop /snap/gnome-calculator/180
loop7    7:7    0  14.5M  1 loop /snap/gnome-logs/37
loop8    7:8    0   3.7M  1 loop /snap/gnome-system-monitor/51
loop9    7:9    0  12.2M  1 loop /snap/gnome-characters/69
loop10   7:10   0    13M  1 loop /snap/gnome-characters/103
loop11   7:11   0 140.9M  1 loop /snap/gnome-3-26-1604/70
loop12   7:12   0  86.9M  1 loop /snap/core/4917
sda      8:0    0 931.5G  0 disk 
sdb      8:16   1  14.7G  0 disk

Wenn Sie mit den in früheren Fällen produzierten Ausgaben vergleichen, sehen Sie, dass in diesem Fall keine Slave-Einträge in der Ausgabe erzeugt werden.

Q6. Wie kann man lsblk dazu bringen, ASCII-Zeichen für die Baumformatierung zu verwenden?

Standardmäßig ist die Art der Baumformatierung, die lsblk verwendet, in vielen Fällen nicht benutzerfreundlich. Beispielsweise kann das Einfügen von Kopien zu Formatierungsproblemen führen. Wenn Sie also möchten, können Sie das Tool zwingen, ASCII-Zeichen für die Baumformatierung zu verwenden, was Sie mit der Befehlszeilenoption -i tun können.

lsblk -i

Hier ist eine exemplarische Ausgabe:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0   3.3M  1 loop /snap/gnome-system-monitor/36
loop1    7:1    0  86.6M  1 loop /snap/core/4486
loop2    7:2    0   140M  1 loop /snap/gnome-3-26-1604/59
loop3    7:3    0    21M  1 loop /snap/gnome-logs/25
loop4    7:4    0    87M  1 loop /snap/core/5145
loop5    7:5    0   1.6M  1 loop /snap/gnome-calculator/154
loop6    7:6    0   2.3M  1 loop /snap/gnome-calculator/180
loop7    7:7    0  14.5M  1 loop /snap/gnome-logs/37
loop8    7:8    0   3.7M  1 loop /snap/gnome-system-monitor/51
loop9    7:9    0  12.2M  1 loop /snap/gnome-characters/69
loop10   7:10   0    13M  1 loop /snap/gnome-characters/103
loop11   7:11   0 140.9M  1 loop /snap/gnome-3-26-1604/70
loop12   7:12   0  86.9M  1 loop /snap/core/4917
sda      8:0    0 931.5G  0 disk 
|-sda1   8:1    0   100M  0 part 
|-sda2   8:2    0  52.5G  0 part 
|-sda3   8:3    0   293G  0 part 
|-sda4   8:4    0     1K  0 part 
|-sda5   8:5    0  93.4G  0 part 
|-sda6   8:6    0   293G  0 part 
|-sda7   8:7    0   3.9G  0 part 
`-sda8   8:8    0 195.8G  0 part /
sdb      8:16   1  14.7G  0 disk 
|-sdb1   8:17   1   200M  0 part 
`-sdb2   8:18   1  14.5G  0 part

So können Sie sehen, dass die Ausgabe (siehe sda-Einträge) nun ASCII-Zeichen in Baumformatierung enthält.

Q7. Wie kann man lsblk dazu bringen, Informationen über Gerätebesitzer, Gruppe und Modus anzuzeigen?

Dies kann mit der Kommandozeilenoption -m erreicht werden.

lsblk -m

Hier ist die Ausgabe des oben genannten Befehls, der in meinem Fall erzeugt wurde:

So erstellen Sie lsblk Display-Informationen über Gerätebesitzer, Gruppe und Modus

Q8. Wie kann man lsblk output dazu bringen, Spalten auszuwählen?

Wenn Sie möchten, können Sie lsblk auch anweisen, nur ausgewählte Spalten auszugeben, was Sie mit der Befehlszeilenoption -o tun können (was erfordert, dass Sie eine kommagetrennte Liste von Spalten übergeben, die Sie anzeigen möchten).

Zum Beispiel:

lsblk -o NAME,SIZE

Der vorgenannte Befehl erzeugte die folgende Ausgabe:

Wie man lsblk output select columns macht

Fazit

Wenn Ihre Linux-Arbeit den Zugriff auf Informationen über Blockgeräte beinhaltet, dann ist lsblk ein Muss für Sie. Hier, in diesem Tutorial, haben wir einige Befehlszeilenoptionen besprochen, die dieses Tool bietet. Um mehr über lsblk zu erfahren, gehen Sie zu seiner Man Page.

Das könnte dich auch interessieren …