Linux에서 파일 시스템 유형을 안정적으로 결정하는 방법은 무엇입니까?

Linux에서 파일 시스템 유형을 안정적으로 결정하는 방법은 무엇입니까?

파티션이 포맷된 FAT 버전/하위 유형(FAT12/FAT16/FAT32/VFAT/exFAT)을 인쇄하는 명령을 실행할 수 있기를 원합니다.

어떤 사람들은 다음 명령을 따르라고 제안합니다.

# stat -f -c %T /boot/efi
msdos

또는

# df -T | grep boot
/dev/sda2      vfat        262144     67916    194228  26% /boot/efi

statexFAT의 인쇄 내용 입니다.

# stat -f -c %T /media/a1ex/7B57-DCAA/
fuseblk

이러한 출력은 혼란스러워 보입니다. 그렇죠?

답변1

이것이 질문에 대한 실제 답변입니다.

file -s명령은 FAT 유형에 대한 정보를 제공합니다.

$ sudo file -s /dev/nvme0n1p2

/dev/nvme0n1p2: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "MSDOS5.0", sectors/cluster 2, reserved sectors 6654, Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 1085440, sectors 204800 (volumes > 32 MB), FAT (32 bit), sectors/FAT 769, reserved 0x1, serial number 0xbe4b6aa0, unlabeled

관련 부분 =>FAT (32 bit)

답변2

vfat단지 파티션 테이블과 fstab을 기반으로 한 FAT 파티션임을 나타냅니다. fdisk -lor와 같은 내용을 알려줄 것입니다 .df -Tmount

나는 을 사용하지 않을 것이며 더 나은 아이디어를 얻기 위해 또는 stat를 사용할 것입니다 .file /dev/sda2parted /dev/sda -l

참고 사항: fuseblk자동 설치용 미디어입니다. 보여주신 예 /boot/efi에는 분명한 차이가 있습니다./media/...

답변3

이 명령은 다음을 수행합니다.

lsblk -o FSTYPE

보다 유용한 플래그 조합은 다음과 같습니다.

lsblk -o FSTYPE,MOUNTPOINT,TYPE,NAME

FSTYPE      MOUNTPOINT TYPE  NAME
                       disk  sda
ntfs                   part  ├─sda1
ntfs                   part  └─sda2
            [SWAP]     disk  zram0
                       disk  nvme0n1
ext4        /boot      part  ├─nvme0n1p1
crypto_LUKS            part  └─nvme0n1p2
btrfs       /home      crypt   └─luks-69980091-6c68-42a0-adf9-4d7e07c7239f

관련 정보