如何根据挂载点在 Linux 终端上输出实际文件系统类型?

如何根据挂载点在 Linux 终端上输出实际文件系统类型?

我以为我发出了正确的命令:

findmnt -no FSTYPE -T /media/a/abc123

遗憾的是,它没有像预期的那样输出“NTFS”,而只是返回fuseblk

“fuseblk” 是什么文件系统类型?我搜索的时候都搞不清楚。不管怎样,它都是 NTFS。我确信这一点。例如,我想知道它是 NTFS 还是 ext4。在命令行上。

我确实发现了这一点:

lsblk -no name,fstype /dev/sde1

它输出的几乎是我想要的:sde1 ntfs

但是它要求我指定“设备路径”,这是未知的。我只有挂载点。

如何正确完成,以便只返回“NTFS”(或“ntfs”),并且我只需要给它挂载点(例如/media/a/abc123)?

答案1

尝试这个:

$ lsblk -lpno 名称,fstype,MOUNTPOINT | grep boot
/dev/nvme0n1p1 vfat /boot/efi

(代替靴子/使用)/$

答案2

可靠的方法是使用findmnt获取设备然后列出 FSTYPElsblk

lsblk -lpno fstype "$(findmnt -no SOURCE /boot)"
lsblk -lpno fstype "$(findmnt -no SOURCE /)"

lsblk -lpno fstype "/dev/disk/by-partuuid/$(findmnt -no PARTUUID /boot)"
lsblk -lpno fstype "/dev/disk/by-partuuid/$(findmnt -no PARTUUID /)"

lsblk -lpno fstype "/dev/disk/by-uuid/$(findmnt -no UUID /boot)"
lsblk -lpno fstype "/dev/disk/by-uuid/$(findmnt -no UUID /)"

根本不需要 grep

相关内容