GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial del comando lsblk de Linux para principiantes (8 ejemplos)

En Linux, los dispositivos de bloque son archivos especiales que se refieren o representan un dispositivo (que puede ser cualquier cosa, desde un disco duro hasta una unidad USB). Entonces, naturalmente, existen herramientas de línea de comandos que lo ayudan con su trabajo relacionado con dispositivos de bloques. Una vez que dicha utilidad es lsblk .

En este tutorial, discutiremos este comando usando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos mencionados aquí han sido probados en una máquina con Ubuntu 18.04 LTS.

Comando Linux lsblk

El comando lsblk en Linux enumera los dispositivos de bloque. La siguiente es su sintaxis:

lsblk [options] [device...]

Y así es como lo explica la página de manual de la herramienta:

       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

Los siguientes son algunos ejemplos de preguntas y respuestas que le darán una mejor idea de cómo funciona lsblk.

P1. ¿Cómo usar el comando lsblk?

El uso básico es bastante simple:simplemente ejecute 'lsblk' sin ninguna opción.

lsblk

El siguiente es el resultado que este comando produjo en mi sistema:

La primera columna enumera los nombres de los dispositivos, seguidos de los números de dispositivos principales y secundarios correspondientes, si el dispositivo es extraíble o no (1 en caso de que lo sea), el tamaño del dispositivo, si el dispositivo es de solo lectura o no, el tipo de dispositivo (disco , partición, etc.) y finalmente el punto de montaje del dispositivo (si está disponible).

P2. ¿Cómo hacer que lsblk también muestre dispositivos vacíos?

De forma predeterminada, el comando lsblk solo muestra los dispositivos que no están vacíos. Sin embargo, también puede obligar a la herramienta a mostrar dispositivos vacíos. Para ello, utilice la opción de línea de comando -a.

lsblk -a

Por ejemplo, en mi caso, el comando anterior produjo el siguiente resultado:

La fila 'bucle 13' es la nueva incorporación en este caso.

Q3. ¿Cómo hacer que lsblk imprima información de tamaño en bytes?

De forma predeterminada, lsblk imprime la información de tamaño en un formato legible por humanos. Si bien esto es bueno, hay momentos en los que puede necesitar el tamaño en bytes. Lo bueno es que hay una opción (-b) que hace esto.

lsblk -b

El siguiente es un resultado de ejemplo:

Entonces puede ver que la columna 'Tamaño' ahora contiene entradas en bytes.

P4. ¿Cómo hacer un modelo de zona de impresión lsblk para cada dispositivo?

Esto lo puede hacer usando la opción de línea de comando -z.

lsblk -z

Por ejemplo, aquí está el resultado que produjo el comando antes mencionado en mi sistema:

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

P5. ¿Cómo hacer que lsblk omita entradas para esclavos?

Para esto, debe usar la opción de línea de comando -d, que le dice a lsblk que no imprima información relacionada con los dispositivos de soporte o los esclavos.

lsblk -d

Aquí hay una salida de ejemplo:

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 compara con la salida producida en casos anteriores, puede ver que no se producen entradas esclavas en la salida en este caso.

P6. ¿Cómo hacer que lsblk use caracteres ascii para el formato de árbol?

De forma predeterminada, el tipo de formato de árbol que usa lsblk puede no ser fácil de usar en muchos casos. Por ejemplo, copiar y pegar puede causar problemas de formato. Entonces, si lo desea, puede obligar a la herramienta a usar caracteres ASCII para el formato de árbol, algo que puede hacer con la opción de línea de comando -i.

lsblk -i

Aquí hay una salida de ejemplo:

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

Para que pueda ver la salida (ver entradas sda) ahora contiene caracteres ASCII en formato de árbol.

P7. ¿Cómo hacer que lsblk muestre información sobre el propietario, el grupo y el modo del dispositivo?

Esto se puede lograr usando la opción de línea de comando -m.

lsblk -m

Aquí está el resultado que produjo el comando antes mencionado en mi caso:

P8. ¿Cómo hacer que la salida lsblk seleccione columnas?

Si lo desea, también puede indicarle a lsblk que genere solo columnas seleccionadas, algo que puede hacer usando la opción de línea de comando -o (que requiere que pase una lista separada por comas de las columnas que desea mostrar).

Por ejemplo:

lsblk -o NAME,SIZE

El comando antes mencionado produjo el siguiente resultado:

Conclusión

Si su trabajo en Linux implica acceder a información relacionada con dispositivos de bloque, entonces lsblk es un comando que debe conocer. Aquí, en este tutorial, hemos discutido varias opciones de línea de comando que ofrece esta herramienta. Para saber más sobre lsblk, diríjase a su página man.


Linux
  1. Tutorial de comando cd de Linux para principiantes (8 ejemplos)

  2. Tutorial de comandos de comunicación de Linux para principiantes (5 ejemplos)

  3. Tutorial de comando Linux df para principiantes (8 ejemplos)

  4. Tutorial de comando de fecha de Linux para principiantes (8 ejemplos)

  5. Tutorial de comando de nombre de host de Linux para principiantes (5 ejemplos)

Linux who Command Tutorial para principiantes (8 ejemplos)

Tutorial de comandos Linux nl para principiantes (7 ejemplos)

Tutorial de comandos de Linux nm para principiantes (10 ejemplos)

Tutorial de comandos OD de Linux para principiantes (6 ejemplos)

Tutorial de comando Linux w para principiantes (5 ejemplos)

Tutorial de comandos ss de Linux para principiantes (8 ejemplos)