我有一个FAT文件系统安装在Linux与vfat驱动程序。 我想知道如何能够读取文件的vfat属性,如“隐藏”和“只读”。
根据我目前阅读的内容,如果我在文件中使用stat()
glibc命令,那么我只能得到这里列出的文件属性: http : //www.gnu.org/s/libc/manual/ html_node /属性Meanings.html#属性含义
这些不包含任何vfat属性。 任何人都可以帮忙吗?
谢谢,
Katsupoy
FAT的DOS属性不能很好地映射到UNIX文件系统模型,所以Linux的vfat
驱动程序不能反映它们。
而不是挂载文件系统,使用mtools从用户空间读取文件系统。
编辑我撒谎。 显然, vfat
驱动程序能够处理这些DOS属性,至少从2.4.29(我认为,我的历史记录不会回到那么远)。
#include <inttypes.h> #include <sys/ioctl.h> #include <linux/msdos_fs.h> int fd = open("/mnt/fat/...", ...); __u32 attrs; ioctl(fd, FAT_IOCTL_GET_ATTRIBUTES, &attrs); attrs = ATTR_NONE; /* ATTR_{RO,HIDDEN,SYS,VOLUME,DIR,ARCH} */ ioctl(fd, FAT_IOCTL_SET_ATTRIBUTES, &attrs);