如果在macOS(Darwin)上具有32位整数BSD设备编号dev_t(例如0x1000004),如何获取该设备的相应文件系统路径(例如“ / dev / disk1s4”)?
答案 0 :(得分:2)
您必须枚举已挂载的文件系统,并查找与设备ID匹配的设备。您可以使用getfsstat()
进行枚举。这将填充struct statfs
结构。将每个结构的字段f_fsid.val[0]
与您要查找的dev_t
进行比较。如果它们匹配,则struct statfs
是您要查找的设备的那个,您可以检查其其他字段以查找所需的信息。特别是,f_mntfromname
是设备路径。
答案 1 :(得分:1)
find /dev -type b -ls
,然后检查输出是否为主要/次要== {0x1000,4}
或者:find / -type b -ls
(如果需要搜索整个文件系统)。
顺便说一句:引用相同的{major,minor}组合可能会有更多条目。