当我运行时mount
,我可以看到我的硬盘安装为fuseblk
。
/dev/sdb1 on /media/ecarroll/hd type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
但是,fuseblk
它并没有告诉我我的设备上的文件系统是什么。我发现它使用gparted
但我想知道如何使用命令行实用程序找到文件系统。
答案1
答案2
如果您了解该文件系统的工作原理,那么这可能是可能的。您必须跟踪设备端,而不是安装点。例如,在您的情况下,FUSE 文件系统正在块设备上公开文件系统,因此您可以查找打开块设备的进程:lsof /dev/sdb1
或者fuser /dev/sdb1
。类似地,使用 SSHFS,您可以使用lsof
或netstat
查找与正确服务器有连接的进程等。这将为您提供进程 ID,然后ps
可以告诉您该进程正在运行什么程序。
答案3
您可以通过以下fs
方式找到/dev/sdb1
:
fsck
命令:
fsck -N /dev/sdb1
mount
命令:
mount | grep /dev/sdb1
file
命令:
file -sL /dev/sdb1
df
命令:
df -T | grep /dev/sdb1
答案4
查询任何给定文件的支持文件系统的通用方法是
lsblk -no name,fstype,mountpoint "$(findmnt --target "$FILE" -no SOURCE)"
输出看起来像
sdd1 exfat /media/USER/CARD-A123
其中sdd1
是设备名称,exfat
是底层文件系统类型(例如,mount
仅显示fuseblk
NFTS 和 exFat,这将显示真实的文件系统),输出的其余部分是该文件系统的挂载点。
如果您收到诸如以下错误
lsblk: : not a block device
没有$FILE
指向可读的文件或目录。