В Linux команда blkid
служит для поиска или печати атрибутов блочного устройства: жёсткого диска, твердотельного накопителя (SSD), USB-накопителя.
Утилита входит в состав пакета util-linux
. Она может определить: тип контента (файловую систему или раздел подкачки), хранящий блочное устройство; атрибуты (токены, пары ИМЯ=значение) из метаданных контента.
Содержание
Синтаксис
$ blkid [параметры] [имя_устройства]
Параметры
Основные параметры
-c, --cache-file
Читать из
<файла>
вместо чтения из файла кеша по умолчанию (-c /dev/null
означает отсутствие кеша)-d, --no-encoding
Не кодировать непечатаемые символы
-g, --garbage-collect
Собрать мусор из кеша blkid
-o, --output
Выходной формат может быть одним из следующих: значение, устройство, экспорт или полный (по умолчанию: полный)
-k, --list-filesystems
Перечислить все известные файловые системы и выйти
-s, --match-tag
Показать указанные теги (по умолчанию показываются все теги)
-t, --match-token
Найти устройство с определённым токеном (пара ИМЯ=значение)
-l, --list-one
Искать только первое устройство с токеном, указанным в
-t
-L, --label
Преобразовать LABEL в имя устройства
-U, --uuid
Преобразовать UUID в имя устройства
Варианты низкоуровневого зондирования
-p, --probe
Низкоуровневое исследование суперблоков (обход кеша)
-i, --info
Собирать информацию об ограничениях ввода-вывода
-H, --hint
Установить подсказку для функции зондирования
-S, --size
Перезаписать размер устройства
-O, --offset
Зонд на заданном смещении
-u, --usages
Фильтровать по «использованию» (например,
-u файловая система, raid
)-n, --match-types
Фильтровать по типу файловой системы (например,
-n vfat,ext4
)-D, --no-part-details
Не печатать информацию из таблицы разделов
-h, --help
Вывести эту справку
-V, --version
Отобразить версию
Аргументы
За аргументами <size>
и <offset>
могут следовать суффиксы GiB, TiB, PiB, EiB, ZiB и YiB (iB не является обязательным).
Аргумент <dev>
указывает устройства для проверки (по умолчанию: все устройства).
Использование команды Linux blkid
Утилита имеет две основные формы работы:
- поиск устройства с определённой парой ИМЯ=значение;
- отображение пар ИМЯ=значение для одного или нескольких указанных устройств.
Информация обо всех блочных устройствах
Для отображения списка всех блочных устройств запуск команды blkid
производится без параметров:
>oleg@mobile:~:$ blkid oleg@mobile:~:$
При отсутствии вывода всех блочных устройств следует выполнить команду blkid
в режиме sudo
повторно:
oleg@mobile:~:$ sudo blkid
/dev/sda2: BLOCK_SIZE="512" UUID="2C2E8B882E8B49B2" TYPE="ntfs" PARTUUID="5f151b7d-02"
/dev/sda7: UUID="2cb45ba1-0d5f-493e-bb45-77b966f5fd6e" TYPE="swap" PARTUUID="5f151b7d-07"
/dev/sda5: UUID="92369345-9b63-4edb-86c1-58578e43edb5" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-05"
/dev/sda3: BLOCK_SIZE="512" UUID="0292C00092BFF66F" TYPE="ntfs" PARTUUID="5f151b7d-03"
/dev/sda1: LABEL="M-PM-^WM-PM-0M-QM-^@M-PM-5M-PM-7M-PM-5M-QM-^@M-PM-2M-PM-8M-QM-^@M-PM->M-PM-2M-PM-0M-PM-=M-PM-> M-QM-^AM-PM-8M-QM-^AM-QM-^BM-PM-5M-PM-<M-PM->M-PM-9" BLOCK_SIZE="512" UUID="46C85DB5C85DA449" TYPE="ntfs" PARTUUID="5f151b7d-01"
/dev/sda8: UUID="e0b4595f-9e86-4dcc-b334-7f50a012a79b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-08"
/dev/sda6: UUID="6d031569-0134-4713-9cb8-4f55968dc362" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-06"
oleg@mobile:~:$
Выведен список всех блочных устройств с указанием их типов.
Информация об одном блочном устройстве
Для отображения информации об одном блочном устройстве следует добавить его имя после команды blkid
:
oleg@mobile:~:$ sudo blkid /dev/sda8
/dev/sda8: UUID="e0b4595f-9e86-4dcc-b334-7f50a012a79b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-08"
oleg@mobile:~:$
Были выведены атрибуты указанного блочного устройства.
Форматирование вывода
Для изменения поведения вывода имеется несколько опций.
Список всех имен блочных устройств
Для вывода списка всех имен блочных устройств системы утилита запускается с опцией -o
:
oleg@mobile:~:$ sudo blkid -o device
/dev/sda2
/dev/sda7
/dev/sda5
/dev/sda3
/dev/sda1
/dev/sda8
/dev/sda6
oleg@mobile:~:$
Список всех имен блочных устройств в табличном виде
Для вывода списка всех устройств с их атрибутами в табличном формате команда blkid
запускается следующим образом:
oleg@mobile:~:$ sudo blkid -o list
device fs_type label mount point UUID
---------------------------------------------------------------------------------------------------------------------------------------
/dev/sda2 ntfs /mnt/win_c 2C2E8B882E8B49B2
/dev/sda7 swap [SWAP] 2cb45ba1-0d5f-493e-bb45-77b966f5fd6e
/dev/sda5 ext4 /mnt/ubuntu 92369345-9b63-4edb-86c1-58578e43edb5
/dev/sda3 ntfs /mnt/win_d 0292C00092BFF66F
/dev/sda1 ntfs Зарезервировано системой (not mounted) 46C85DB5C85DA449
/dev/sda8 ext4 /home e0b4595f-9e86-4dcc-b334-7f50a012a79b
/dev/sda6 ext4 / 6d031569-0134-4713-9cb8-4f55968dc362
oleg@mobile:~:$
Список всех доступных типов файловых систем
Для вывода списка всех доступных типов файловых систем команда blkid
запускается с параметром -k
:
oleg@mobile:~:$ sudo blkid -k
linux_raid_member
ddf_raid_member
isw_raid_member
lsi_mega_raid_member
via_raid_member
silicon_medley_raid_member
nvidia_raid_member
promise_fasttrack_raid_member
hpt45x_raid_member
hpt37x_raid_member
adaptec_raid_member
jmicron_raid_member
bcache
bcachefs
ceph_bluestore
drbd
drbdmanage_control_volume
drbdproxy_datalog
LVM2_member
LVM1_member
DM_snapshot_cow
DM_verity_hash
DM_integrity
crypto_LUKS
VMFS_volume_member
ubi
vdo
stratis
BitLocker
cs_fvault2
vfat
swsuspend
swap
xfs
xfs_external_log
exfs
ext4dev
ext4
ext3
ext2
jbd
reiserfs
reiser4
jfs
udf
iso9660
zfs_member
hfsplus
hfs
ufs
hpfs
sysv
xenix
ntfs
ReFS
cramfs
romfs
minix
gfs
gfs2
ocfs
ocfs2
oracleasm
vxfs
squashfs
squashfs3
nss
btrfs
ubifs
bfs
VMFS
befs
nilfs2
exfat
f2fs
mpool
apfs
zonefs
erofs
oleg@mobile:~:$
Поиск устройств
Поиск устройств можно выполнять по совпадающим именам атрибутов. Можно выполнить поиск блочного устройства, сопоставив такие атрибуты, как TYPE, LABEL или UUID, используя параметр -t
.
Поиск по типу
Для примера найдём все блочные устройства ТИПА ext4
с помощью следующей команды:
oleg@mobile:~:$ blkid -t TYPE=ext4
/dev/sda5: UUID="92369345-9b63-4edb-86c1-58578e43edb5" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-05"
/dev/sda8: UUID="e0b4595f-9e86-4dcc-b334-7f50a012a79b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-08"
/dev/sda6: UUID="6d031569-0134-4713-9cb8-4f55968dc362" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-06"
oleg@mobile:~:$
Поиск по ярлыку
Например при поиске по UUID утилита запускается следующим образом:
oleg@mobile:~:$ blkid -t UUID=e0b4595f-9e86-4dcc-b334-7f50a012a79b
/dev/sda8: UUID="e0b4595f-9e86-4dcc-b334-7f50a012a79b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f151b7d-08"
oleg@mobile:~:$
Заключение
В статье были приведены основные примеры использования в Linux команды blkid
, являющейся важным инструментом для идентификации и отображения атрибутов блочных устройств.
Утилита предоставляет универсальное решение для пользователей, управляющих устройствами хранения.