如何获取两个时间点之间触摸的文件列表?

如何获取两个时间点之间触摸的文件列表?

我需要获取已修改文件的完整列表,如果可能的话,还需要通过复杂脚本访问文件,以及在任何其他进程运行脚本的同时访问的所有文件。

所以我想在应用程序启动之前开始记录所有 IO 文件访问,然后在应用程序结束时停止记录。 (或检查两个时间戳之间的完整日志?)

我怎样才能做到这一点 ?

答案1

您可以使用标记文件,在执行主要关注的操作之前触摸它,然后使用find带有-newer-anewer选项的命令来查找在触摸标记文件后修改或访问的文件。

touch /tmp/marker
perform-some-operation
find /path/to/dir -newer /tmp/marker

如果您要监视的目录不太大,一个有趣的替代方案可能是将其转换为 Git 存储库,然后使用 Git 命令查看发生了什么变化。

cd /path/to/dir
git init .
git add .
git commit -m init
perform-some-operation
git status
git diff

完成后,您可以简单地删除该.git目录。

相关内容