lsblk — просмотр блочных устройств в Linux

Что такое lsblk
lsblk — это утилита командной строки для перечисления блочных устройств в системе Linux. Блочные устройства хранят данные блоками (обычно это HDD и SSD). Команда читает информацию из sysfs и выводит структуру в виде дерева: каждое устройство — отдельная строка.
Краткое определение: блочное устройство — устройство, оперирующее данными блоками (sectors, blocks), доступное через /dev.
Важно: lsblk не отображает оперативную память (RAM) как блочное устройство.
Установка lsblk
Команда поставляется в составе пакета util-linux. Во многих дистрибутивах пакет уже установлен. Если нет — установите через менеджер пакетов вашего дистрибутива.
На Debian/Ubuntu/MX Linux:
sudo apt-get install util-linuxНа RHEL/CentOS (старые репозитории):
sudo yum install util-linux-ngНа Arch/Manjaro:
sudo pacman -S util-linuxСовет: проверьте наличие lsblk командой which lsblk или lsblk --version.
Основные примеры использования
Показать все блочные устройства:
lsblkПоказать также пустые устройства (включая те, у которых нет разделов):
lsblk -aПоказать размеры в байтах (подходит для машинной обработки):
lsblk -bПоказать владельца, группу и режим устройства (короткая опция -m — --perms):
lsblk -mПоказать файловые системы, метки и UUID:
lsblk -fВывести только конкретные столбцы (полезно для скриптов). Пример: размер, имя, точка монтирования:
lsblk -o SIZE,NAME,MOUNTPOINTСкрыть заголовок столбцов:
lsblk -dnВывод в формате JSON (удобно для обработки jq или других парсеров):
lsblk --jsonПолезная шпаргалка команд (Cheat sheet)
- lsblk — базовый вывод в виде дерева
- lsblk -a — включить пустые устройства
- lsblk -b — размеры в байтах
- lsblk -m — показать OWNER,GROUP,MODE
- lsblk -f — показать FSTYPE,LABEL,UUID,FSUSE%
- lsblk -o
— указать свои столбцы - lsblk -dn — только данные, без заголовка
- lsblk –json | jq ‘.’ — обработка JSON через jq
Совет для скриптов: всегда явно указывайте столбцы через -o, чтобы изменение дефолтного набора столбцов в будущем не сломало парсинг.
Примеры использования в скриптах
Получить список смонтированных точек в виде device:mountpoint:
lsblk -o NAME,MOUNTPOINT -n | awk '$2!~/^$/ {print $1":"$2}'Получить UUID дисков и записать в CSV:
lsblk -o NAME,UUID -n --json | jq -r '.blockdevices[] | [.name,.uuid] | @csv'Когда lsblk может не показать устройство
- Устройство ещё не инициализировано в ядре и не появилось в sysfs.
- Нет прав доступа (нужен root для некоторых подробных полей).
- Устройство подключено нестандартно (через пользовательский драйвер вне /sys).
- Физическая неисправность диска (устройство не отвечает).
Решения: проверьте dmesg/journalctl, убедитесь, что модуль ядра загружен, подключите устройство заново.
Альтернативы и комплементарные команды
- blkid — выводит идентификаторы и типы файловых систем
- fdisk -l — список и схема разделов (подробно о разделах)
- ls -l /dev/disk/by-uuid — ссылки по UUID
- df -h — использование файловых систем и доступное место
- findmnt — отображение точек монтирования
Используйте lsblk для структуры и связей «устройство → раздел → точка монтирования», а blkid/df/fdisk — для деталей и действий.
Ментальная модель (как думать про блочные устройства)
- Устройство (например, /dev/sda) — физический диск.
- Раздел (например, /dev/sda1) — часть диска с таблицей разделов.
- Файловая система — логическая структура внутри раздела (ext4, xfs, vfat).
- Точка монтирования — где файловая система доступна в дереве каталогов.
lsblk показывает эту иерархию в виде дерева.
Роли: что проверять в lsblk
Администратор:
- Убедиться, что ожидаемые диски видны.
- Проверить права доступа и владельца устройств.
- Сопоставить UUID с /etc/fstab.
SRE/Оператор:
- Проверить точки монтирования и FSUSE%.
- Сравнить вывод с мониторингом (например, alert при пропаже диска).
Разработчик/DevOps:
- Использовать JSON вывод в CI/CD для валидации окружения.
- Явно указывать столбцы в скриптах.
Критерии приёмки
- Команда
lsblkбез параметров выводит ожидаемое дерево устройств. - JSON-вывод корректно парсится через jq в тестовой среде.
- Скрипт, использующий
lsblk -o, не ломается при смене дистрибутива.
Безопасность и привилегии
lsblk сам по себе читает sysfs и не изменяет устройства. Некоторые поля доступны только root. Не храните вывод с полными правами и путями в общедоступных логах, если система содержит чувствительные метаданные.
Быстрая проверка при неполадках (runbook)
- Выполните
dmesg | tailилиjournalctl -kпосле подключения устройства. - Проверьте
lsblk -aиblkidна предмет появления устройства. - Если устройство есть, проверьте
/etc/fstabиmount. - Если устройство не видно — перезагрузите USB/SATA контроллер или перезагрузите систему как крайняя мера.
Краткая таблица сравнения
- lsblk — обзор структуры, удобен для дерева и метаданных
- blkid — идентификаторы и типы файловых систем
- fdisk -l — подробная схема разделов
- df -h — использование диска по точкам монтирования
1‑строчное глоссарий
- sysfs — виртуальная файловая система, в которой ядро показывает устройства и их атрибуты.
Итог
lsblk — надёжный инструмент для получения представления о блочных устройствах и их связях с точками монтирования и файловыми системами. Используйте -o для стабильности в скриптах и --json для интеграции с инструментами обработки. При проблемах сверяйтесь с журналами ядра и используйте комплементарные утилиты (blkid, fdisk, df).
Важное: всегда тестируйте скрипты с явным указанием столбцов, чтобы избежать проблем при обновлениях утилиты.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента