我已经安装在Linux下VFAT司机是FAT文件系统。 我想知道我是如何将能够读取文件的VFAT属性,如“隐藏”和“只读”。
根据我到目前为止阅读,如果我使用stat()
glibc的命令上的文件,我只会让这里列出的文件属性: http://www.gnu.org/s/libc/manual/ html_node /属性Meanings.html#属性含义
这些不包含任何然而VFAT属性。 任何人都可以帮忙吗?
谢谢,
Katsupoy
我已经安装在Linux下VFAT司机是FAT文件系统。 我想知道我是如何将能够读取文件的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);