Команда blkid в Linux
Что такое команда blkid?
blkidЭто утилита в системах Linux для определения атрибутов блочных устройств. Она может отображать тип файловой системы, UUID (Universally Unique Identifier), метку (LABEL) и другую связанную информацию о блочных устройствах (таких как жёсткие диски, разделы, USB-устройства и т. д.).
Основные возможности
- Определить тип файловой системы устройств хранения
- Получить уникальный идентификатор устройства (UUID)
- Просмотреть метку раздела (LABEL) устройства
- Отобразить размер и другие атрибуты блочных устройств
Базовый синтаксис
blkid [选项] [设备...]
Описание общих опций и параметров
| Опция | Описание |
|---|---|
-c <缓存文件> |
Указать файл кэша (по умолчанию /etc/blkid.tab) |
-g |
Собрать мусорные данные в файл кэша |
-o <格式> |
Указать формат вывода (full, value, list, device, udev) |
-p |
Низкоуровневая проверка суперблока (обходит кэш) |
-s <标签> |
Показать информацию для указанного тега (например, UUID, TYPE, LABEL и т. д.) |
-U <UUID> |
Найти соответствующее устройство по UUID |
-L <标签> |
Найти соответствующее устройство по LABEL |
-i |
Показать информацию об ограничениях ввода-вывода |
-h |
Показать справочную информацию |
-V |
Показать информацию о версии |
Примеры использования
1. Просмотр всей информации о блочных устройствах
Пример
Пример вывода:
/dev/sda1: UUID="5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f" TYPE="ext4" /dev/sda2: UUID="6b4c5d6e-7f8g-9h0i-1j2k-3l4m5n6o7p8q" TYPE="swap" /dev/sdb1: LABEL="DATA" UUID="9a8b7c6d-5e4f-3g2h-1i0j-9k8l7m6n5o4p" TYPE="xfs"
2. Просмотр информации о конкретном устройстве
Пример
Пример вывода:
/dev/sda1: UUID="5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f" TYPE="ext4"
3. Показать только информацию UUID
Пример
Пример вывода:
5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f
4. Поиск устройства по UUID
Пример
Пример вывода:
/dev/sda1
5. Использование вывода в формате списка
Пример
Пример вывода:
device fs_type label mount point UUID ------------------------------------------------------------------------------- /dev/sda1 ext4 / 5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f /dev/sda2 swap [SWAP] 6b4c5d6e-7f8g-9h0i-1j2k-3l4m5n6o7p8q /dev/sdb1 xfs DATA /mnt/data 9a8b7c6d-5e4f-3g2h-1i0j-9k8l7m6n5o4p
Практические сценарии применения
1. Монтирование с использованием UUID в fstab
При редактировании/etc/fstabфайла, использование UUID надёжнее, чем имена устройств, потому что имена устройств могут измениться:
Пример
2. Идентификация устройств в скриптах автоматизации
В скриптах можно использовать blkid для идентификации конкретного устройства:
Пример
DATA_PARTITION=$(sudo blkid -L "DATA")
if [ -n "$DATA_PARTITION" ]; then
echo "Найден раздел данных:$DATA_PARTITION"
mount $DATA_PARTITION /mnt/data
else
echo "Раздел данных не найден"
fi
3. Обнаружение несмонтированных файловых систем
Пример
ЧАВО
Вопрос 1: Почему для запуска blkid нужен sudo?
Ответ: Обычные пользователи могут не иметь разрешения на доступ к определённой информации об устройствах. Использование sudo гарантирует получение полной информации об устройствах.
Вопрос 2: В чём разница между blkid и lsblk?
A:
lsblkВ основном отображает иерархическую структуру и базовую информацию о блочных устройствах (имя, размер, точка монтирования и т. д.)blkidСосредоточен на отображении подробной информации, связанной с файловой системой (UUID, TYPE, LABEL и т. д.)
Вопрос 3: Как обновить кэш blkid?
Ответ: Обновить кэш можно с помощью следующей команды:
Пример
Или используйте низкоуровневое зондирование, чтобы полностью обойти кэш:
Пример
Итог
blkidКоманда является очень полезным инструментом в администрировании систем Linux, особенно при работе с устройствами хранения и файловыми системами. После изучения этой статьи вы сможете:
- Понимать основные функции и синтаксис blkid
- Использовать различные параметры для получения конкретной информации об устройстве
- Применять команду blkid в реальных сценариях
- Решать распространённые проблемы, связанные с идентификацией устройств
Освоение команды blkid поможет вам более эффективно управлять устройствами хранения в системах Linux.
Другие расширения
Справочник команд Linux