С чего начать Первые шаги трек · 15 ступеней
Linux Labs

lsblk — блочные устройства

3 мин util-linux

Дерево дисков, разделов и логических томов — размер, ФС, точка монтирования.

Шпаргалка

6 команд Версия для печати
  • lsblk дерево: диски → разделы → LVM/RAID
  • lsblk -f + файловая система, UUID, точка монтирования
  • lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT свои колонки
  • lsblk -d только диски, без разделов
  • lsblk -p /dev/sdb конкретное устройство, полный путь
  • lsblk -e 7 без loop-устройств (major 7)

Обзор

lsblk читает дерево блочных устройств из /sys/block — без root и без обращения к самим дискам напрямую. Показывает диски, разделы, LVM-тома и RAID-массивы одной иерархией: что на чём построено.

bash
lsblk -f
# NAME   FSTYPE  UUID                                 MOUNTPOINT
# sda
# ├─sda1 vfat    1234-5678                             /boot/efi
# └─sda2 ext4    1234abcd-...                          /

Это обзор устройств, а не занятого места (для этого — disk-usage) и не списка активных монтирований (для этого — findmnt/mount).

Ключи

6

Ниже — основные ключи; полный список — в man lsblk.

Ключ Что делает Пример
-f --fs Добавить файловую систему, UUID, метку и точку монтирования. lsblk -f
-o LIST Свои колонки вместо набора по умолчанию (через запятую). lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
-d --nodeps Только сами устройства, без разделов и дочерних устройств. lsblk -d
-p --paths Полный путь устройства (/dev/sda1), а не только имя. lsblk -p
-e --exclude LIST Исключить типы устройств по major-номеру (7 — loop). lsblk -e 7
-a --all Показать и пустые устройства (без раздела/ФС). lsblk -a

Ничего не найдено. Попробуй запрос короче.

Рецепты

3

Найти новый диск перед разметкой

bash
lsblk                              # без FSTYPE/MOUNTPOINT — устройство ещё пустое
lsblk -f                           # подтвердить: пустая ФС и точка монтирования

Точки монтирования и UUID для fstab

bash
lsblk -f                           # колонка MOUNTPOINT — что и куда уже смонтировано
blkid /dev/sdb1                    # UUID и тип ФС отдельной командой (не lsblk)

Свои колонки для скриптов

bash
lsblk -no NAME,SIZE                # без заголовка — удобно парсить построчно
lsblk -o NAME,TYPE,SIZE -p          # с полным путём устройства

Неполадки

3

Диск подключили, а в lsblk его нет

lsblk не сканирует шину заново — ядро уже должно увидеть устройство. Проверь dmesg | tail (см. kernel-modules) или пересканируй SCSI-хост: echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan.

Устройство есть в lsblk, но не смонтировано

lsblk -f с пустой колонкой MOUNTPOINT — раздел существует, но не смонтирован и/или не в /etc/fstab. Дальше — mount.

Имя устройства «плавает» между перезагрузками

/dev/sdX может смениться при перестановке дисков. В fstab и скриптах используй UUID (lsblk -f или blkid), не голое имя устройства.

См. также

  • fdisk-parted — разметить новый диск, который нашёл lsblk.
  • blkid — UUID и метка ФС отдельной командой.
  • loop-device — откуда в списке устройства loopN.
  • mount — Монтирование и fstab — точки монтирования, UUID, bind и tmpfs.
  • disk-usage — Куда делось место и inode — df, du, поиск крупных файлов.
  • lvm — PV → VG → LV; гибкое управление дисками, расширение и снапшоты.
Загрузка…