Я не думаю lsblk
и file -s
это ужасное, но существует альтернативный путь.
Можно использовать blkid
вместо этого. По умолчанию, blkid
без любых аргументов перечислит известные блочные устройства и определенную информацию о них, включая тип файловой системы. Формат находится также в key=value парном формате (по умолчанию), который помогает вывести в сценарий.
Это - то, на что вывод похож в моей системе:
>> blkid
/dev/sda1: LABEL="boot" UUID="5F6E-FD2B" TYPE="vfat"
/dev/sda2: UUID="yBVbC2-MFnP-1T1s-9XGz-VCUH-S5oG-aNSXDg" TYPE="LVM2_member"
/dev/mapper/sys-root: UUID="0e1e5a6b-31b2-4e13-9b26-cbbb74e95ab9" TYPE="xfs"
/dev/mapper/sys-var--log: UUID="49f1b45d-d303-4c2e-a72b-c75e8f1e27ae" TYPE="xfs"
/dev/mapper/sys-usr--portage: UUID="b8a494dd-f7f4-4e5e-9975-e21a61c95d22" TYPE="xfs"
/dev/mapper/sys-stmp: UUID="f2b3252c-3ec2-4c66-bed2-26c93f12b535" TYPE="xfs"
/dev/mapper/sys-home--phemmer--luks: UUID="898f9f52-3c9d-475c-9e7b-1a2263778a39" TYPE="crypto_LUKS"
/dev/mapper/_dev_dm_4: UUID="d0cb5255-e35a-4ee2-94ca-f1a7f7339eb9" TYPE="xfs"