GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

Unter Linux sind Blockgeräte spezielle Dateien, die sich auf ein Gerät beziehen oder es darstellen (was alles sein kann, von einer Festplatte bis zu einem USB-Laufwerk). Natürlich gibt es Befehlszeilentools, die Ihnen bei Ihrer Arbeit im Zusammenhang mit Blockgeräten helfen. Ein solches Dienstprogramm ist lsblk .

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

Linux-lsblk-Befehl

Der Befehl lsblk in Linux listet Blockgeräte auf. Es folgt die Syntax:

lsblk [options] [device...]

Und so erklärt es die Manpage 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 verwende ich den Befehl lsblk?

Die grundlegende Verwendung ist ziemlich einfach - führen Sie einfach 'lsblk' ohne jegliche Option aus.

lsblk

Es folgt die Ausgabe, die dieser Befehl auf meinem System erzeugt:

Die erste Spalte listet Gerätenamen auf, gefolgt von entsprechenden Major- und Minor-Gerätenummern, ob das Gerät entfernbar ist oder nicht (1, falls dies der Fall ist), Größe des Geräts, ob das Gerät schreibgeschützt ist oder nicht, Gerätetyp (Disk , Partition usw.) und schließlich den Einhängepunkt des Geräts (falls verfügbar).

Q2. Wie kann man lsblk dazu bringen, auch leere Geräte anzuzeigen?

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

lsblk -a

In meinem Fall erzeugte der obige Befehl beispielsweise die folgende Ausgabe:

Die Zeile 'Schleife 13' ist in diesem Fall neu hinzugekommen.

Q3. Wie kann man lsblk dazu bringen, Größeninformationen in Bytes auszugeben?

Standardmäßig gibt lsblk Größeninformationen in menschenlesbarer Form aus. Obwohl dies gut ist, kann es vorkommen, dass Sie die Größe in Bytes benötigen. Gut ist, dass es eine Option (-b) gibt, die dies tut.

lsblk -b

Es folgt eine Beispielausgabe:

Sie können also sehen, dass die Spalte „Größe“ jetzt Einträge in Bytes enthält.

Q4. Wie erstelle ich ein lsblk-Druckzonenmodell für jedes Gerät?

Dies können Sie mit der Befehlszeilenoption -z tun.

lsblk -z

Hier ist zum Beispiel 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

F5. Wie kann man lsblk-Einträge für Slaves überspringen lassen?

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

lsblk -d

Hier ist eine Beispielausgabe:

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 die in früheren Fällen erzeugte Ausgabe vergleichen, sehen Sie, dass in diesem Fall keine Slave-Einträge in der Ausgabe erzeugt werden.

F6. 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 möglicherweise nicht benutzerfreundlich. Beispielsweise kann das Kopieren und Einfügen 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 Beispielausgabe:

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

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

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

Dies kann mit der Befehlszeilenoption -m erreicht werden.

lsblk -m

Hier ist die Ausgabe, die der oben genannte Befehl in meinem Fall erzeugt hat:

Q8. Wie lässt man lsblk ausgewählte Spalten ausgeben?

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

Zum Beispiel:

lsblk -o NAME,SIZE

Der oben genannte Befehl erzeugte die folgende Ausgabe:

Schlussfolgerung

Wenn Ihre Linux-Arbeit den Zugriff auf Informationen zu Blockgeräten beinhaltet, dann ist lsblk ein Muss für Sie. Hier, in diesem Tutorial, haben wir mehrere Befehlszeilenoptionen besprochen, die dieses Tool bietet. Um mehr über lsblk zu erfahren, besuchen Sie seine Manpage.


Linux
  1. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  2. Linux-Kommando-Tutorial für Anfänger (5 Beispiele)

  3. Linux-df-Befehls-Tutorial für Anfänger (8 Beispiele)

  4. Linux Date Command Tutorial für Anfänger (8 Beispiele)

  5. Linux-Hostname-Befehls-Tutorial für Anfänger (5 Beispiele)

Linux Who Command Tutorial für Anfänger (8 Beispiele)

Linux nl Command Tutorial für Anfänger (7 Beispiele)

Linux-nm-Befehls-Tutorial für Anfänger (10 Beispiele)

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)