如何在linux系统中检测文件更改或删除

时间:2014-07-07 13:47:38

标签: linux shell filesystems boost-filesystem

在UNIX系统上,一切都是文件;如果某件事不是文件,那就是一个过程。 这是linux文件系统的一个优点,但这里有一个问题!!

如何检测用户或程序是否创建或更改或删除了文件?

我尝试使用inotify执行此操作,但在openwrt发行版中不能使用内核版本3.4

感谢

1 个答案:

答案 0 :(得分:1)

您是否尝试过stat命令?如果您不能使用inotify,那么您可能无法使用inotifywait,因为它使用inotify接口。

您可以直接从其输出中获取有关文件创建和修改的信息。

删除的部分(当用户或程序删除文件时)无法直接访问。 Unix提供了atime,mtime和ctime时间戳。

Atime是上次访问内容的时间。 Ctime是最后一次修改inode的时间 - 元数据。 Mtime是最后一次修改内容的时间。

因此,不能直接加入删除时间。您可以通过包含该文件的目录的时间戳来检查文件是否被删除。