Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux系统中检测文件更改或删除_Linux_Shell_Filesystems_Boost Filesystem - Fatal编程技术网

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

如何在linux系统中检测文件更改或删除,linux,shell,filesystems,boost-filesystem,Linux,Shell,Filesystems,Boost Filesystem,在UNIX系统上,所有内容都是一个文件;如果某个东西不是文件,那么它就是一个过程。 这是linux文件系统的一个优点,但这里有一个问题 如何检测用户或程序是否创建、更改或删除了文件 我尝试使用inotify来实现这一点,但在openwrt发行版中不适用于内核版本3.4 谢谢你试过这个命令了吗?如果无法使用inotify,则可能无法使用inotifywait,因为它使用inotify接口 您可以直接从文件的输出中获取有关文件创建和修改的信息 无法直接访问删除的部分(当用户或程序删除文件时)。Uni

在UNIX系统上,所有内容都是一个文件;如果某个东西不是文件,那么它就是一个过程。 这是linux文件系统的一个优点,但这里有一个问题

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

我尝试使用inotify来实现这一点,但在openwrt发行版中不适用于内核版本3.4

谢谢你试过这个命令了吗?如果无法使用inotify,则可能无法使用inotifywait,因为它使用inotify接口

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

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

Atime是最后一次访问内容的时间。 Ctime是最后一次修改索引节点元数据的时间。 Mtime是最后一次修改内容的时间


因此,无法直接访问删除的时间。您可以通过文件所在目录的时间戳检查文件是否被删除。

它可以实时检测文件的更改?这意味着,如果文件被修改,它会向脚本发送信号,通过更改通知它?@Anis_Stack获取通知并非易事。您可以编写一些脚本来执行stat命令,并使用一些reg exp来获取修改后的时间