Comando lsblk de Linux con Ejemplos Prácticos

LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, exploraremos el comando lsblk de Linux, que muestra información sobre todos los dispositivos de bloques disponibles en su sistema. Los dispositivos de bloques incluyen discos duros, SSDs, unidades USB y otros medios de almacenamiento. El comando lsblk presenta esta información en un formato claro, similar a un árbol, que facilita la comprensión de la relación entre los diferentes dispositivos de almacenamiento y sus particiones.

Comprender los dispositivos de almacenamiento es esencial para cualquier persona que trabaje con sistemas Linux. Ya sea que necesite identificar el almacenamiento disponible, verificar los tamaños de las particiones o verificar los puntos de montaje, el comando lsblk proporciona una forma rápida y eficiente de recopilar esta información.

Al final de este laboratorio, podrá usar el comando lsblk con varias opciones para obtener información detallada sobre los dispositivos de almacenamiento en su sistema Linux.

Hoja de trucos de comandos de Linux

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel avanzado con una tasa de finalización del 47%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Uso básico del comando lsblk

El comando lsblk significa "listar dispositivos de bloques" (list block devices) y se utiliza para mostrar información sobre todos los dispositivos de bloques disponibles en su sistema Linux. Los dispositivos de bloques son dispositivos de almacenamiento como discos duros, SSDs y unidades USB.

Comencemos ejecutando el comando básico lsblk en la terminal:

  1. Abra su terminal si aún no está abierta.

  2. Escriba el siguiente comando y presione Enter:

lsblk

Debería ver una salida similar a esta:

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]

Esta salida muestra todos los dispositivos de bloques en su sistema, con las siguientes columnas:

  • NAME: El nombre del dispositivo
  • MAJ:MIN: Números de dispositivo mayor y menor (major and minor device numbers)
  • RM: Indicador de extraíble (1 significa extraíble, 0 significa no extraíble)
  • SIZE: El tamaño del dispositivo
  • RO: Indicador de solo lectura (1 significa solo lectura, 0 significa lectura-escritura)
  • TYPE: Tipo de dispositivo (disco, partición, loop, etc.)
  • MOUNTPOINT: Dónde está montado el dispositivo (si corresponde)

En el ejemplo anterior, puede ver:

  • Varios dispositivos loop utilizados por los paquetes snap
  • Un dispositivo de almacenamiento principal sda (que es un disco de 50GB)
  • Dos particiones en sda: sda1 (montada en la raíz /) y sda2 (utilizada como espacio de intercambio (swap space))

La estructura de árbol en la salida facilita la visualización de qué particiones pertenecen a qué discos. Por ejemplo, puede ver que tanto sda1 como sda2 son particiones del disco sda.

Ahora que comprende la salida básica del comando lsblk, exploremos algunas opciones útiles en los siguientes pasos.

Visualización de información adicional con lsblk

En este paso, aprenderemos a usar el comando lsblk con diferentes opciones para mostrar información más detallada sobre los dispositivos de bloques.

Uso de la opción -f para mostrar información del sistema de archivos

La opción -f muestra información del sistema de archivos, incluyendo el tipo de sistema de archivos, la etiqueta, el UUID y el punto de montaje. Esto es particularmente útil cuando necesita identificar dispositivos por su UUID o verificar qué tipos de sistemas de archivos están en uso.

Ejecute el siguiente comando en su terminal:

lsblk -f

Debería ver una salida similar a esta:

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]

La salida ahora incluye columnas adicionales:

  • FSTYPE: El tipo de sistema de archivos (ext4, swap, squashfs, etc.)
  • LABEL: Cualquier etiqueta del sistema de archivos que se haya asignado
  • UUID: El Identificador Único Universal (Universal Unique Identifier) para el sistema de archivos

Uso de la opción -m para mostrar información del propietario y el modo del dispositivo

La opción -m muestra los permisos y la información del propietario para los dispositivos de bloques. Esto es útil cuando se solucionan problemas relacionados con los permisos.

Ejecute el siguiente comando:

lsblk -m

Debería ver una salida como esta:

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----

Las nuevas columnas muestran:

  • OWNER: El usuario propietario del dispositivo (típicamente root)
  • GROUP: El grupo propietario del dispositivo (típicamente disk)
  • MODE: El modo de permiso del dispositivo

Uso de la opción -o para seleccionar columnas de salida específicas

La opción -o le permite especificar qué columnas mostrar. Esto es útil cuando solo necesita cierta información y desea una salida más limpia y enfocada.

Mostremos solo las columnas de nombre, tamaño y punto de montaje:

lsblk -o NAME,SIZE,MOUNTPOINT

La salida será mucho más simple:

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]

Esta salida personalizada facilita la concentración en la información que necesita. Puede combinar múltiples opciones para obtener exactamente la información que desea en el formato que mejor se adapte a sus necesidades.

Filtrado de dispositivos de bloques con lsblk

En este paso, aprenderemos a filtrar la salida del comando lsblk para enfocarnos en tipos específicos de dispositivos de bloques o mostrar información en diferentes formatos.

Filtrado por tipo de dispositivo

El comando lsblk le permite filtrar dispositivos por su tipo utilizando la opción --type o -t. Los tipos de dispositivos comunes incluyen:

  • disk: Discos físicos
  • part: Particiones
  • loop: Dispositivos loop
  • lvm: Volúmenes lógicos (Logical volumes)

Para mostrar solo los dispositivos de disco, ejecute el siguiente comando:

lsblk --type disk

La salida mostrará solo los discos principales, sin sus particiones:

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

De manera similar, para mostrar solo los dispositivos de partición, ejecute:

lsblk --type part

La salida mostrará solo las particiones:

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

Visualización de rutas de dispositivos

La opción --paths muestra las rutas completas de los dispositivos en lugar de solo los nombres de los dispositivos. Esto es útil cuando necesita hacer referencia a los dispositivos en scripts o comandos.

Ejecute el siguiente comando:

lsblk --paths

La salida incluirá las rutas completas de los dispositivos:

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]

Visualización de la salida en formato JSON

La opción --json genera la información en formato JSON, lo cual es útil para el procesamiento programático o cuando se integra con otras herramientas.

Ejecute el siguiente comando:

lsblk --json

La salida estará en formato JSON:

{
  "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]"
        }
      ]
    }
  ]
}

Combinación de opciones para un control preciso

Puede combinar múltiples opciones para obtener exactamente la información que necesita. Por ejemplo, para mostrar solo los dispositivos de disco con sus rutas completas en formato JSON:

lsblk --type disk --paths --json

La salida será una representación JSON de solo los dispositivos de disco con sus rutas completas:

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

Estas opciones de filtrado hacen que el comando lsblk sea muy flexible y le permiten obtener precisamente la información que necesita sobre los dispositivos de bloques en su sistema.

Uso avanzado de lsblk para escenarios prácticos

En este paso, exploraremos escenarios prácticos donde el comando lsblk resulta valioso para tareas de administración y solución de problemas del sistema.

Verificación del uso del disco y el espacio disponible

Para verificar el uso del disco y el espacio disponible, puede combinar lsblk con la opción -b (para mostrar los tamaños en bytes) y seleccionar columnas específicas:

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

La salida mostrará información sobre el uso del disco:

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]

Las columnas muestran:

  • SIZE: El tamaño total en bytes
  • FSAVAIL: Espacio disponible en el sistema de archivos
  • FSUSE%: Porcentaje del sistema de archivos utilizado
  • MOUNTPOINT: Dónde está montado el dispositivo

Identificación de unidades USB

Cuando conecta una unidad USB, puede usar lsblk para identificarla rápidamente buscando dispositivos extraíbles:

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

En la salida, busque dispositivos con el valor RM (extraíble) de 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]

Si tuviera una unidad USB conectada, normalmente aparecería como un disco adicional (como sdb) con un valor RM de 1.

Búsqueda de números de serie de dispositivos

Para el inventario de hardware o la solución de problemas, es posible que necesite encontrar los números de serie de los dispositivos. El comando lsblk puede mostrar esta información:

lsblk -o NAME,SIZE,TYPE,SERIAL

La salida incluirá los números de serie de los dispositivos que proporcionen esta información:

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

Tenga en cuenta que no todos los dispositivos informan números de serie, y los dispositivos virtuales como los dispositivos loop normalmente no tienen números de serie.

Análisis de atributos de rendimiento del disco

Para ver los atributos de rendimiento del disco, puede usar la opción --topology o -t:

lsblk --topology

La salida incluye información de topología como la alineación y el tamaño óptimo de E/S:

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

Esta información puede ser útil para la optimización del rendimiento y la solución de problemas relacionados con E/S.

Estos ejemplos prácticos demuestran cuán versátil es el comando lsblk para las tareas diarias de administración del sistema. Al dominar estas técnicas, puede recopilar rápidamente información importante sobre los dispositivos de almacenamiento en su sistema Linux.

Resumen

En este laboratorio, exploramos el comando lsblk de Linux, una herramienta poderosa para listar y mostrar información sobre dispositivos de bloques en su sistema. Cubrimos varios aspectos importantes del comando:

  • Uso básico de lsblk para mostrar una lista en forma de árbol de todos los dispositivos de bloques
  • Cómo mostrar información adicional, incluidos los detalles del sistema de archivos, el propietario/permisos y las selecciones de columnas personalizadas
  • Técnicas de filtrado para enfocarse en tipos de dispositivos específicos o formatos de visualización
  • Escenarios de uso avanzado para tareas de administración del sistema

El comando lsblk es una herramienta esencial para los administradores y usuarios de sistemas Linux que necesitan administrar dispositivos de almacenamiento. Sus opciones flexibles le permiten obtener rápidamente la información exacta que necesita sobre discos, particiones y otros dispositivos de bloques en su sistema.

Al dominar el comando lsblk, puede de manera más efectiva:

  • Identificar y administrar dispositivos de almacenamiento
  • Monitorear el uso del disco y el espacio disponible
  • Solucionar problemas relacionados con el almacenamiento
  • Documentar la configuración de almacenamiento de su sistema

Estas habilidades forman una base importante para tareas de administración de sistemas Linux más avanzadas relacionadas con la gestión del almacenamiento.

Hoja de trucos de comandos de Linux