如何列出文件的所有修改时间?

如何列出文件的所有修改时间?

使用stat fileI可以检查文件的最近修改时间和创建时间。

[root@controller network-scripts]# stat ifcfg-enp2s0f0
  文件:"ifcfg-enp2s0f0"
  大小:444        块:8          IO 块:4096   普通文件
device:fd00h/64768d Inode:1708165     硬链接:1
limit:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
recent access:2017-10-08 19:51:13.715800341 +0800
最近更改:2017-08-31 14:57:14.703346036 +0800
recent change:2017-08-31 14:57:14.745346036 +0800
创建时间:-

是否有一种方法可以列出所有更改文件的时间?

答案1

普通文件系统不存储更改日志。

如何监控文件系统更改的答案在这里:

答案2

据我所知,没有一个文件系统会存储每次修改时间。大多数只提供您已经提供的内容:创建、上次访问和上次修改。


作为实验,制作一个小分区,大概32M左右。将您喜欢的文件系统放在上面,并将该分区安装在某个位置(我将/mnt在本示例中使用)。一些可用大小将被文件系统数据占用,但我们可以忽略它。时间存储为自某个纪元以来的 32 或 64 位秒数;我们在这里假设 32。

32M就是33554432字节。 32 位是 4 个字节,因此您可以在完全空的分区上存储 8,388,608 个时间戳。运行一个循环:

for ((x=0; x < 8500000; x=x+1)); do
    touch /mnt/somefile
done

这将导致touch文件系统上的文件出现 850 万次(可能需要一段时间)。重要的是,如果您的系统存储每个时间戳,那么在某个时刻您会收到一条消息,表明文件系统已满。

相关内容