我有 CentOS Stream 9。当我安装 USB 驱动器并使用 touch 命令创建文件时,stat 命令中的访问时间不会改变并保持不变:“访问:2023-06-20 03:00:00.000000000 +0300”当我使用命令“cat file”时它也会保持这样
我尝试使用以下命令进行挂载: mount -o strictatime,fmask=000 /dev/sdb1 /home/linux1/USB
这是 mount 命令的输出:
[root@localhost USB]# mount | grep "USB"
/dev/sdb1 on /home/linux1/USB type vfat (rw,fmask=0000,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
这是 stat 命令的输出:
[root@localhost USB]# stat file
File: file
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 811h/2065d Inode: 180 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:dosfs_t:s0
Access: 2023-06-20 03:00:00.000000000 +0300
Modify: 2023-06-20 23:36:02.000000000 +0300
Change: 2023-06-20 23:36:02.140000000 +0300
Birth: -
我必须进行更多更改才能使其工作,但我不知道该做什么。有人可以帮忙吗?
答案1
这是 FAT32 文件系统吗?根据维基百科,FAT32 中的日期分辨率为 1 天(访问日期)。
您的2023-06-20 03:00:00.000000000 +0300
时间为 UTC 午夜,但是似乎 FAT32 没有存储任何时区信息。所以这实际上只是2023-06-20
没有指定时区的唯一日期,解释作为 UTC 的午夜,然后转换为您的时区,显然是,因此输出中的+0300
这些03:00:00
和。文件系统本身仅保存日期。+0300
stat
为了使其按预期工作,您需要使用另一种类型的文件系统。如果它必须是与 Windows 兼容的文件系统,那么这个答案可能会有所帮助:Windows 兼容文件系统的文件时间分辨率。