我以为我发出了正确的命令:
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