Introducción
En este laboratorio, exploraremos el comando lsblk de Linux, el cual muestra información sobre todos los dispositivos de bloque disponibles en tu sistema. Los dispositivos de bloque incluyen discos duros, unidades de estado sólido (SSD), unidades USB y otros medios de almacenamiento. El comando lsblk presenta esta información en un formato claro en forma de árbol, lo que facilita la comprensión de la relación entre los diferentes dispositivos de almacenamiento y sus particiones.
Comprender los dispositivos de almacenamiento es fundamental para cualquier persona que trabaje con sistemas Linux. Ya sea que necesites identificar el almacenamiento disponible, verificar el tamaño de las particiones o comprobar los puntos de montaje, el comando lsblk ofrece una forma rápida y eficiente de recopilar esta información.
Al finalizar este laboratorio, podrás utilizar el comando lsblk con varias opciones para obtener información detallada sobre los dispositivos de almacenamiento en tu sistema Linux.
Uso básico del comando lsblk
En este paso, utilizarás el comando lsblk para mostrar información sobre los dispositivos de bloque disponibles en tu sistema Linux. Los dispositivos de bloque son dispositivos de almacenamiento como discos duros, SSD y unidades USB.
Abre la terminal si aún no está abierta. Luego, ejecuta el comando básico lsblk:
lsblk
Deberías 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 bloque de tu sistema con las siguientes columnas:
NAME: El nombre del dispositivoMAJ:MIN: Los números de dispositivo mayor y menorRM: Indicador de dispositivo extraíble (1 significa extraíble, 0 significa no extraíble)SIZE: El tamaño del dispositivoRO: Indicador de solo lectura (1 significa solo lectura, 0 significa lectura/escritura)TYPE: Tipo de dispositivo (disco, partición, bucle/loop, etc.)MOUNTPOINT: Dónde está montado el dispositivo (si corresponde)
En el ejemplo anterior, puedes ver:
- Varios dispositivos
looputilizados por los paquetes snap - Un dispositivo de almacenamiento principal
sda(que es un disco de 50 GB) - Dos particiones en
sda:sda1(montada en la raíz/) ysda2(utilizada como espacio de intercambio o swap)
La estructura en forma de árbol en la salida facilita visualizar qué particiones pertenecen a qué discos. Por ejemplo, puedes ver que tanto sda1 como sda2 son particiones del disco sda.
Ahora que entiendes la salida básica del comando lsblk, vamos a explorar algunas opciones útiles en los siguientes pasos.
Mostrar información adicional con lsblk
En este paso, aprenderemos a utilizar el comando lsblk con diferentes opciones para mostrar información más detallada sobre los dispositivos de bloque.
Usar la opción -f para mostrar información del sistema de archivos
La opción -f muestra información del sistema de archivos, incluyendo su tipo, etiqueta (label), UUID y punto de montaje. Esto resulta especialmente útil cuando necesitas identificar dispositivos por su UUID o comprobar qué tipos de sistemas de archivos se están utilizando.
Ejecuta el siguiente comando en tu terminal:
lsblk -f
Deberías 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 asignada al sistema de archivosUUID: El identificador único universal (Universal Unique Identifier) del sistema de archivos
Usar la opción -m para mostrar información de propietario y permisos del dispositivo
La opción -m muestra los permisos y la información del propietario de los dispositivos de bloque. Esto es útil para solucionar problemas relacionados con los permisos.
Ejecuta el siguiente comando:
lsblk -m
Deberías 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 (normalmente root)GROUP: El grupo propietario del dispositivo (normalmente disk)MODE: El modo de permisos del dispositivo
Usar la opción -o para seleccionar columnas de salida específicas
La opción -o te permite especificar qué columnas deseas mostrar. Esto es útil cuando solo necesitas cierta información y prefieres una salida más limpia y directa.
Vamos a mostrar únicamente las columnas de nombre, tamaño y punto de montaje:
lsblk -o NAME,SIZE,MOUNTPOINT
La salida será mucho más sencilla:
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 realmente necesitas. Puedes combinar varias opciones para obtener exactamente los datos que buscas en el formato que mejor se adapte a tus necesidades.
Filtrar dispositivos de bloque con lsblk
En este paso, aprenderemos a limitar la salida del comando lsblk y a mostrar la información en diferentes formatos.
Mostrar únicamente los dispositivos de nivel superior
La opción --nodeps, abreviada como -d, omite los dispositivos dependientes, como las particiones. Esto es útil cuando deseas una vista concisa de los dispositivos de bloque principales (nivel superior).
Ejecuta el siguiente comando:
lsblk --nodeps
La salida mostrará los dispositivos principales sin sus árboles de particiones. Los nombres y tamaños de los dispositivos pueden variar entre sistemas:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 253:0 0 40G 0 disk
vdb 253:16 0 100G 0 disk /etc/hosts
Excluir dispositivos por número mayor
La opción --exclude, abreviada como -e, acepta una lista separada por comas de los números de dispositivo mayor que se desean omitir. Por ejemplo, los dispositivos loop utilizan el número mayor 7, por lo que el siguiente comando los excluye:
lsblk --exclude 7
Este filtro se aplica a los dispositivos principales. Sus particiones dependientes aún pueden aparecer en el árbol.
Mostrar las rutas de los dispositivos
La opción --paths muestra las rutas completas de los dispositivos en lugar de solo sus nombres. Esto resulta útil cuando necesitas hacer referencia a los dispositivos dentro de scripts o comandos.
Ejecuta 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]
Mostrar la salida en formato JSON
La opción --json presenta la información en formato JSON, lo cual resulta muy práctico para el procesamiento mediante scripts o al integrar los resultados con otras herramientas.
Ejecuta el siguiente comando:
lsblk --json
La salida se mostrará 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]"
}
]
}
]
}
Combinar opciones para un control preciso
Puedes combinar varias opciones para obtener exactamente la información que requieres. Por ejemplo, para omitir los dispositivos dependientes y los dispositivos loop mientras se muestran las rutas completas en formato JSON:
lsblk --nodeps --exclude 7 --paths --json
El resultado será una representación en JSON de los dispositivos principales restantes junto con sus rutas completas:
{
"blockdevices": [
{
"name": "/dev/vda",
"maj:min": "253:0",
"rm": false,
"size": "40G",
"ro": false,
"type": "disk"
}
]
}
Estas opciones de filtrado hacen que el comando lsblk sea sumamente flexible, permitiéndote obtener con precisión milimétrica los datos que necesitas sobre los dispositivos de bloque de tu sistema.
Uso avanzado de lsblk en escenarios prácticos
En este paso, exploraremos escenarios del mundo real donde el comando lsblk demuestra ser una herramienta valiosa para la administración de sistemas y tareas de resolución de problemas.
Comprobar el uso del disco y el espacio disponible
Para verificar el uso del disco y el espacio disponible, puedes 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á la información de 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 bytesFSAVAIL: El espacio disponible en el sistema de archivosFSUSE%: El porcentaje de uso del sistema de archivosMOUNTPOINT: Dónde está montado el dispositivo
Identificar unidades USB
Al conectar una unidad USB, puedes usar lsblk para identificarla rápidamente buscando dispositivos extraíbles:
lsblk -o NAME,SIZE,TYPE,RM,MOUNTPOINT
En la salida, busca los dispositivos cuyo valor en la columna RM (extraíble) sea 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 tuvieras una unidad USB conectada, normalmente aparecería como un disco adicional (como sdb) con un valor de 1 en la columna RM.
Encontrar números de serie de dispositivos
Para el inventario de hardware o la resolución de problemas, es posible que necesites averiguar 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 aquellos dispositivos que proporcionan 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
Ten en cuenta que no todos los dispositivos informan su número de serie, y los dispositivos virtuales (como los dispositivos loop) por lo general no disponen de uno.
Analizar los atributos de rendimiento del disco
Para ver los atributos de rendimiento del disco, puedes utilizar 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 (I/O):
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 muy útil para el ajuste de rendimiento (tuning) y la resolución de problemas relacionados con las operaciones de entrada/salida.
Estos ejemplos prácticos demuestran la gran versatilidad del comando lsblk para las tareas cotidianas de administración de sistemas. Al dominar estas técnicas, podrás recopilar rápidamente información clave sobre los dispositivos de almacenamiento en tu sistema Linux.
Resumen
En este laboratorio, exploramos el comando lsblk de Linux, una potente herramienta para listar y mostrar información sobre los dispositivos de bloque de tu sistema. Cubrimos varios aspectos importantes de este comando:
- El uso básico de
lsblkpara mostrar una lista en forma de árbol de todos los dispositivos de bloque - Cómo mostrar información adicional, incluyendo los detalles del sistema de archivos, propietario/permisos y la selección de columnas personalizadas
- Técnicas de filtrado para centrarse en tipos de dispositivos específicos o formatos de salida determinados
- Escenarios de uso avanzado para tareas de administración de sistemas
El comando lsblk es una utilidad indispensable para los administradores de sistemas Linux y usuarios que necesitan gestionar dispositivos de almacenamiento. Sus flexibles opciones te permiten obtener de manera rápida la información exacta que requieres sobre discos, particiones y otros dispositivos de bloque en tu equipo.
Al dominar el comando lsblk, podrás realizar con mayor eficacia las siguientes tareas:
- Identificar y gestionar 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 tu sistema
Estas habilidades forman una base sólida para tareas más avanzadas de administración de sistemas Linux relacionadas con la gestión del almacenamiento.



