В Linux команда lsblk
является мощным инструментом, выводящим информацию о блочных устройствах, их разделах, размерах и точках монтирования.
Содержание
Синтаксис
$ lsblk [параметры] [устройство]
Параметры
-A, --noempty
Не выводить пустые устройства
-D, --discard
Возможность отмены печати
-E, --dedup
Дедупликация вывода с помощью
-I, --include
Показать только устройства с указанными основными номерами
-J, --json
Использовать для вывода формат JSON
-M, --merge
Родительские группы поддеревьев (можно использовать для RAID, Multi-path)
-O, --output-all
Выводить все столбцы
-P, --pairs
Выводить в формате
ключ="значение"
-Q, --filter
Выводить только строки, соответствующие выражению
--highlight
Раскрасить линии, соответствующие выражению
--ct-filter
Ограничить следующий счетчик
--ct
[:[: ]] Определить собственный счетчик
-S, --scsi
Вывести информацию об устройствах SCSI
-N, --nvme
Вывести информации об устройствах NVMe
-v, --virtio
Вывести информацию об устройствах Virtio
-T, --tree[=
] Использовать вывод в древовидном формате
-a, --all
Показать все устройства
-b, --bytes
Вывести РАЗМЕР в байтах, а не в удобочитаемом формате
-e, --exclude
Исключить устройства по основному номеру (по умолчанию: RAM-диски)
-f, --fs
Показать информацию о файловых системах
-i, --ascii
Использовать только ASCII-символы
-l, --list
Показать данные в виде списка
-m, --perms
Показать информацию о разрешениях
-n, --noheadings
Не выводить заголовки
-o, --output
Выходные столбцы (см.
--list-columns
)-p, --paths
Вывести полный путь к устройству
-r, --raw
Вывести в "сыром" формате
-s, --inverse
Обратные зависимости
-t, --topology
Вывести информацию о топологии
-w, --width
Определить ширину вывода как количество символов
-x, --sort
Сортировать вывод по
-y, --shell
Использовать имена столбцов в качестве идентификаторов переменных оболочки
-z, --zoned
Вывести информацию, связанную с зоной
--sysroot
Использовать указанный каталог в качестве корня системы
-H, --list-columns
Список доступных столбцов
-h, --help
Отобразить эту справку
-V, --version
Отобразить версия
Использование в Linux команды lsblk
Запуск утилиты без опций
Для вывода всех блочных устройств, подключённых к системе достаточно выполнить запуск команды lsblk
без опций:
oleg@mobile:~:$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 100M 0 part
├─sda2 8:2 0 46,5G 0 part /mnt/win_c
├─sda3 8:3 0 37,3G 0 part /mnt/win_d
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 28G 0 part /mnt/ubuntu
├─sda6 8:6 0 28G 0 part /
├─sda7 8:7 0 1,9G 0 part [SWAP]
└─sda8 8:8 0 324,1G 0 part /home
sr0 11:0 1 1024M 0 rom
oleg@mobile:~:$
Выведен в древовидном формате список всех подключённых блочных устройств: разделы, размеры, точки монтирования.
В этом базовом примере:
- в столбце TYPE указан первый диск
sda
, его разделы:sda1
,sda2
..., а также съёмное оптическое устройствоsr0
; - в столбце MAJ:MIN приведены мажорные и минорные номера устройств;
- столбец RM — съёмные флаги устройств;
- столбец SIZE — размеры;
- столбец RO — флаг только для чтения;
- столбец TYPE — тип устройства (диск, раздел, съёмный носитель);
- столбец MOUNTPOINTS — точка монтирования.
Команда lsblk
может отображать больше информации в зависимости от используемых с ней опций.
Все блочные устройства, включая пустые
В данном случае команда lsblk
запускается с параметром -a
:
oleg@mobile:~:$ lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 100M 0 part
├─sda2 8:2 0 46,5G 0 part /mnt/win_c
├─sda3 8:3 0 37,3G 0 part /mnt/win_d
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 28G 0 part /mnt/ubuntu
├─sda6 8:6 0 28G 0 part /
├─sda7 8:7 0 1,9G 0 part [SWAP]
└─sda8 8:8 0 324,1G 0 part /home
sr0 11:0 1 1024M 0 rom
oleg@mobile:~:$
Были перечислены все устройства, даже если на них нет никаких файловых систем.
Вывод размера в байтах
Для этого команда lsblk
запускается с опцией -b
:
oleg@mobile:~:$ lsblk -b
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 500107862016 0 disk
├─sda1 8:1 0 104857600 0 part
├─sda2 8:2 0 49902780416 0 part /mnt/win_c
├─sda3 8:3 0 40016805888 0 part /mnt/win_d
├─sda4 8:4 0 1024 0 part
├─sda5 8:5 0 30014000128 0 part /mnt/ubuntu
├─sda6 8:6 0 30014014464 0 part /
├─sda7 8:7 0 2006936064 0 part [SWAP]
└─sda8 8:8 0 348044465664 0 part /home
sr0 11:0 1 1073741312 0 rom
oleg@mobile:~:$
Размер блочных устройств отображён в байтах. Необходимо для получения точных размеров разделов.
Вывод определённых столбцов
В этом случае с командой lsblk
используется параметр -o
, за которым следует список имён столбцов, разделённых запятой:
oleg@mobile:~:$ lsblk -o NAME,SIZE
NAME SIZE
sda 465,8G
├─sda1 100M
├─sda2 46,5G
├─sda3 37,3G
├─sda4 1K
├─sda5 28G
├─sda6 28G
├─sda7 1,9G
└─sda8 324,1G
sr0 1024M
oleg@mobile:~:$
Здесь были выведены лишь столбцы NAME, SIZE.
Вывод определённого устройства
В качестве примера выведем раздел /dev/sda8
:
oleg@mobile:~:$ lsblk /dev/sda8
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda8 8:8 0 324,1G 0 part /home
oleg@mobile:~:$
Расширенный вывод
В данном примере с командой lsblk
используется параметр -o
, за которым следует список имён столбцов NAME, FSTYPE, UUID:
oleg@mobile:~:$ lsblk -o NAME,FSTYPE,UUID
NAME FSTYPE UUID
sda
├─sda1 ntfs 46C85DB5C85DA449
├─sda2 ntfs 2C2E8B882E8B49B2
├─sda3 ntfs 0292C00092BFF66F
├─sda4
├─sda5 ext4 92369345-9b63-4edb-86c1-58578e43edb5
├─sda6 ext4 6d031569-0134-4713-9cb8-4f55968dc362
├─sda7 swap 2cb45ba1-0d5f-493e-bb45-77b966f5fd6e
└─sda8 ext4 e0b4595f-9e86-4dcc-b334-7f50a012a79b
sr0
oleg@mobile:~:$
Расширенное использование команды lsblk
позволило отобразить UUID и тип файловой системы блочных устройств. Это может быть полезно при устранении неполадок в системе.
Заключение
В Linux команда lsblk
позволяет использовать комплексный способ просмотра информации обо всех блочных устройствах в системе.