Сценарии Bash: как определить, можно ли смонтировать раздел?

In Linux kernel, are USBs, MMCs,SDcards considered as block device

Простой ответ — да. USB-накопители будут отображаться как обычные /dev/sdb, /dev/sdcи т. д. Карты MMC/SD могут отображаться таким образом, если устройство чтения карт подключено через USB -(некоторые внутренние устройства чтения карт памяти на самом деле являются USB под капот )или отображается как /dev/mmcblk0,/dev/mmcblk1(если у вас более одного кард-ридера)-разделы будут /dev/mmcblk0p1, /dev/mmcblk0p2и т. д.

Вы можете использовать команду lsblkдля быстрого просмотра всех блочных устройств в вашей системе в данный момент.

Что касается указания типа устройства, Linux не заботится о том, что на самом деле представляет собой блочное устройство. Блочное устройство — это блочное устройство для Linux, и оно отличается только размером, независимо от того, доступно ли оно физически только для чтения или нет, и принимает ли оно дополнительные команды, такие как TRIMдля SSD.

1
20.02.2018, 06:09
1 ответ

Tanto lsblkcomo blkidse pueden usar para averiguar qué hay en una partición (, p. intercambio, sistema de archivos conocido, datos sin procesar ). Ambos tienen varias opciones para especificar el formato de salida para que pueda extraer solo la información que necesita (, p. tipo de sistema de archivos, etiqueta fs, uuid, etc. ).

IMO blkides una mejor herramienta para operaciones con secuencias de comandos y, en mi experiencia, es mejor para detectar para qué se está utilizando una partición existente, sin importar qué tipo de dispositivo de bloque se esté examinando (p. lsblkno sabe qué hacer con un ZFS zvol. blkidlo trata como cualquier otro dispositivo de bloque -que es exactamente lo que debería hacer porque eso es exactamente lo que es un ZVOL ). lsblkse puede usar en scripts, pero, en mi opinión, está más orientado hacia el uso interactivo con una bonita salida impresa -.

por ej. en uno de mis sistemas:

# blkid /dev/sda*
/dev/sda: PTUUID="3a1e16ae" PTTYPE="dos"
/dev/sda1: UUID="08799b67-8ed7-4cee-aea1-0f9e7bd1fc04" TYPE="ext4" PARTUUID="3a1e16ae-01"
/dev/sda2: UUID="db8bda5f-4f18-4abb-a151-08494e398047" TYPE="swap" PARTUUID="3a1e16ae-02"
/dev/sda3: UUID="fc967791-b9cf-4145-9047-8a8b223ac4bb" TYPE="xfs" PARTUUID="3a1e16ae-03"

O si solo quiero el tipo de sistema de archivos de /dev/sda1:

# blkid -o value --match-tag TYPE /dev/sda1
ext4

Consulte la página de manual de blkidpara obtener más detalles.

Por cierto, file -stambién se puede usar, pero la salida es más difícil de analizar. p.ej.

# file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=08799b67-8ed7-4cee-aea1-0f9e7bd1fc04 (needs journal recovery) (extents) (large files) (huge files)
5
28.04.2021, 23:50

Теги

Похожие вопросы