Uri Herrera Asked: 2011-02-16 21:40:17 +0800 CST2011-02-16 21:40:17 +0800 CST 2011-02-16 21:40:17 +0800 CST 是否可以知道文件何时被删除? 772 有可能知道吗?例如它们何时被删除,由哪个用户删除等;或者有关文件的任何信息是否已完全删除 files 2 个回答 Voted Best Answer djeikyb 2011-02-17T02:19:27+08:002011-02-17T02:19:27+08:00 如果通过删除,您的意思是“移动到垃圾箱”,是和否。您将始终知道是谁将文件移至垃圾箱,因为它最终会进入他们的垃圾箱。您不会知道它何时被移到垃圾箱,因为移动操作不会更新文件的时间戳。 如果通过删除,您的意思是rm或“清空垃圾”,不。ext2/3/4 文件系统不打算将取消删除作为一项功能,因此不要像您正在寻找的那样存储元信息。 当然,如果您执行定期备份,您可以推断删除的时间窗口。 msw 2011-02-17T04:23:54+08:002011-02-17T04:23:54+08:00 如果您有兴趣,可以使用特定的文件或目录inotifywait,但它不会告诉您是谁做的。此外,通知不会区分对文件的普通写入和用垃圾填充文件或截断文件。 例如: $ inotifywait -q /var/tmp/junk & sleep 2; touch /var/tmp/junk /var/tmp/junk OPEN $ inotifywait -q /var/tmp/junk & sleep 2; cat /etc/hosts > /var/tmp/junk /var/tmp/junk MODIFY $ inotifywait -q /var/tmp/junk & sleep 2; cat /dev/null > /var/tmp/junk /var/tmp/junk MODIFY $ inotifywait -q /var/tmp/junk & sleep 2; rm /var/tmp/junk /var/tmp/junk ATTRIB 请注意,如果没有 inotify 的--monitor选项,即使rm命令也只会显示为ATTRIB操作,因为rm首先会检查文件的权限。 这可能甚至与您正在寻找的内容不相近,但它可能有用。与djeikyb建议的备份的比较将为您提供更详细的信息。
如果通过删除,您的意思是“移动到垃圾箱”,是和否。您将始终知道是谁将文件移至垃圾箱,因为它最终会进入他们的垃圾箱。您不会知道它何时被移到垃圾箱,因为移动操作不会更新文件的时间戳。
如果通过删除,您的意思是
rm
或“清空垃圾”,不。ext2/3/4 文件系统不打算将取消删除作为一项功能,因此不要像您正在寻找的那样存储元信息。当然,如果您执行定期备份,您可以推断删除的时间窗口。
如果您有兴趣,可以使用特定的文件或目录
inotifywait
,但它不会告诉您是谁做的。此外,通知不会区分对文件的普通写入和用垃圾填充文件或截断文件。例如:
请注意,如果没有 inotify 的
--monitor
选项,即使rm
命令也只会显示为ATTRIB
操作,因为rm
首先会检查文件的权限。这可能甚至与您正在寻找的内容不相近,但它可能有用。与djeikyb建议的备份的比较将为您提供更详细的信息。