Команда blkid в Linux

Linux 命令大全Справочник команд 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. Просмотр всей информации о блочных устройствах

Пример

sudo blkid

Пример вывода:

/dev/sda1: UUID=&quot;5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f&quot; TYPE=&quot;ext4&quot; 
/dev/sda2: UUID=&quot;6b4c5d6e-7f8g-9h0i-1j2k-3l4m5n6o7p8q&quot; TYPE=&quot;swap&quot; 
/dev/sdb1: LABEL=&quot;DATA&quot; UUID=&quot;9a8b7c6d-5e4f-3g2h-1i0j-9k8l7m6n5o4p&quot; TYPE=&quot;xfs&quot;

2. Просмотр информации о конкретном устройстве

Пример

sudo blkid /dev/sda1

Пример вывода:

/dev/sda1: UUID=&quot;5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f&quot; TYPE=&quot;ext4&quot;

3. Показать только информацию UUID

Пример

sudo blkid -s UUID -o value /dev/sda1

Пример вывода:

5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f

4. Поиск устройства по UUID

Пример

sudo blkid -U 5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f

Пример вывода:

/dev/sda1

5. Использование вывода в формате списка

Пример

sudo blkid -o list

Пример вывода:

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 надёжнее, чем имена устройств, потому что имена устройств могут измениться:

Пример

UUID=5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f / ext4 defaults 0 1

2. Идентификация устройств в скриптах автоматизации

В скриптах можно использовать blkid для идентификации конкретного устройства:

Пример

#!/bin/bash

DATA_PARTITION=$(sudo blkid -L "DATA")
if [ -n "$DATA_PARTITION" ]; then
    echo "Найден раздел данных:$DATA_PARTITION"
    mount $DATA_PARTITION /mnt/data
else
    echo "Раздел данных не найден"
fi

3. Обнаружение несмонтированных файловых систем

Пример

sudo blkid | grep -v "$(mount | awk '{print $1}')"

ЧАВО

Вопрос 1: Почему для запуска blkid нужен sudo?

Ответ: Обычные пользователи могут не иметь разрешения на доступ к определённой информации об устройствах. Использование sudo гарантирует получение полной информации об устройствах.

Вопрос 2: В чём разница между blkid и lsblk?

A:

  • lsblkВ основном отображает иерархическую структуру и базовую информацию о блочных устройствах (имя, размер, точка монтирования и т. д.)
  • blkidСосредоточен на отображении подробной информации, связанной с файловой системой (UUID, TYPE, LABEL и т. д.)

Вопрос 3: Как обновить кэш blkid?

Ответ: Обновить кэш можно с помощью следующей команды:

Пример

sudo blkid -g

Или используйте низкоуровневое зондирование, чтобы полностью обойти кэш:

Пример

sudo blkid -p

Итог

blkidКоманда является очень полезным инструментом в администрировании систем Linux, особенно при работе с устройствами хранения и файловыми системами. После изучения этой статьи вы сможете:

  1. Понимать основные функции и синтаксис blkid
  2. Использовать различные параметры для получения конкретной информации об устройстве
  3. Применять команду blkid в реальных сценариях
  4. Решать распространённые проблемы, связанные с идентификацией устройств

Освоение команды blkid поможет вам более эффективно управлять устройствами хранения в системах Linux.

Linux 命令大全Справочник команд Linux

Другие расширения