GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de commande Linux lsblk pour les débutants (8 exemples)

Sous Linux, les périphériques de bloc sont des fichiers spéciaux qui font référence à ou représentent un périphérique (qui peut être n'importe quoi, d'un disque dur à une clé USB). Alors naturellement, il existe des outils de ligne de commande qui vous aident dans votre travail lié aux périphériques de blocage. Une fois qu'un tel utilitaire est lsblk .

Dans ce didacticiel, nous discuterons de cette commande à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples mentionnés ici ont été testés sur une machine Ubuntu 18.04 LTS.

Commande Linux lsblk

La commande lsblk sous Linux répertorie les périphériques de bloc. Voici sa syntaxe :

lsblk [options] [device...]

Et voici comment la page de manuel de l'outil l'explique :

       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

Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une meilleure idée du fonctionnement de lsblk.

Q1. Comment utiliser la commande lsblk ?

L'utilisation de base est assez simple - il suffit d'exécuter 'lsblk' sans aucune option.

lsblk

Voici la sortie produite par cette commande sur mon système :

La première colonne répertorie les noms de périphérique, suivis des numéros de périphérique majeurs et mineurs correspondants, si le périphérique est amovible ou non (1 si tel est le cas), la taille du périphérique, si le périphérique est en lecture seule ou non, le type de périphérique (disque , partition, etc.), et enfin le point de montage du périphérique (si disponible).

Q2. Comment faire en sorte que lsblk affiche également les appareils vides ?

Par défaut, la commande lsblk affiche uniquement les périphériques non vides. Cependant, vous pouvez également forcer l'outil à afficher les appareils vides. Pour cela, utilisez l'option de ligne de commande -a.

lsblk -a

Par exemple, dans mon cas, la commande ci-dessus a produit le résultat suivant :

La ligne "boucle 13" est le nouvel ajout dans ce cas.

Q3. Comment créer des informations de taille d'impression lsblk en octets ?

Par défaut, lsblk imprime les informations de taille sous une forme lisible par l'homme. Bien que cela soit bon, il peut arriver que vous ayez besoin d'une taille en octets. Ce qui est bien, c'est qu'il existe une option (-b) qui fait cela.

lsblk -b

Voici un exemple de sortie :

Vous pouvez donc voir que la colonne "Taille" contient désormais des entrées en octets.

Q4. Comment créer un modèle de zone d'impression lsblk pour chaque appareil ?

Vous pouvez le faire en utilisant l'option de ligne de commande -z.

lsblk -z

Par exemple, voici la sortie de la commande susmentionnée produite sur mon système :

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. Comment faire en sorte que lsblk ignore les entrées pour les esclaves ?

Pour cela, vous devez utiliser l'option de ligne de commande -d, qui indique à lsblk de ne pas imprimer les informations relatives aux appareils titulaires ou aux esclaves.

lsblk -d

Voici un exemple de sortie :

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

Si vous comparez avec la sortie produite dans les cas précédents, vous pouvez voir qu'aucune entrée esclave n'est produite dans la sortie dans ce cas.

Q6. Comment faire en sorte que lsblk utilise des caractères ascii pour le formatage de l'arborescence ?

Par défaut, le type de formatage d'arborescence utilisé par lsblk peut ne pas être convivial dans de nombreux cas. Par exemple, le copier-coller peut entraîner des problèmes de formatage. Donc, si vous le souhaitez, vous pouvez forcer l'outil à utiliser des caractères ascii pour le formatage de l'arborescence, ce que vous pouvez faire en utilisant l'option de ligne de commande -i.

lsblk -i

Voici un exemple de sortie :

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

Ainsi, vous pouvez voir que la sortie (voir les entrées sda) contient maintenant des caractères ASCII au format arborescent.

Q7. Comment faire en sorte que lsblk affiche des informations sur le propriétaire, le groupe et le mode de l'appareil ?

Ceci peut être réalisé en utilisant l'option de ligne de commande -m.

lsblk -m

Voici la sortie de la commande susmentionnée produite dans mon cas :

Q8. Comment faire en sorte que la sortie lsblk sélectionne des colonnes ?

Si vous le souhaitez, vous pouvez également diriger lsblk pour ne sortir que des colonnes sélectionnées, ce que vous pouvez faire à l'aide de l'option de ligne de commande -o (qui vous oblige à transmettre une liste de colonnes séparées par des virgules que vous souhaitez afficher).

Par exemple :

lsblk -o NAME,SIZE

La commande susmentionnée a produit le résultat suivant :

Conclusion

Si votre travail Linux implique l'accès aux informations relatives aux périphériques de bloc, alors lsblk est une commande incontournable pour vous. Ici, dans ce tutoriel, nous avons discuté de plusieurs options de ligne de commande offertes par cet outil. Pour en savoir plus sur lsblk, rendez-vous sur sa page de manuel.


Linux
  1. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  2. Tutoriel de commande Linux comm pour les débutants (5 exemples)

  3. Tutoriel de commande Linux df pour les débutants (8 exemples)

  4. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  5. Tutoriel de commande de nom d'hôte Linux pour les débutants (5 exemples)

Tutoriel Linux who Command pour débutants (8 exemples)

Tutoriel de commande Linux nl pour les débutants (7 exemples)

Tutoriel de commande Linux nm pour les débutants (10 exemples)

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)