Linux查找mtime和ctime不相等的文件
Posted
技术标签:
【中文标题】Linux查找mtime和ctime不相等的文件【英文标题】:Linux find files where mtime and ctime are not equal 【发布时间】:2015-08-23 14:49:10 【问题描述】:我可以做一个find
并列出 ctime 和 mtime 不相等的文件吗?
find . -type f -name '*.php' -ctime -5 MISSING_PART
MISSING_PART:类似于-mtime != -ctime
【问题讨论】:
抱歉 - 我不知道“查找”中有任何此类选项。我假设您知道the difference between ctime and mtime,并且两者通常相同。建议:尝试使用stat | cut | diff
:linux.die.net/man/2/stat 编写脚本。您可以格式化输出,使 ctime 在一列中; mtime 在另一个中,然后“区分”两列。
感谢您的提示。如果有人明确将 mtime 设置为不同于应有的值(通常是黑客),这两者通常是不同的
【参考方案1】:
这可以使用stat
命令获得。 stat
命令用于显示文件或文件系统状态。 -c
选项用于指定此命令的输出格式。 %n
格式用于指定文件名。 %Y
用于指定自纪元以来的最后一次修改时间,%Z
指定自纪元以来的最后一次更改时间。
命令find . -exec stat -c %n#%Y#%Z \; | awk -F# 'if ($2 != $3) print $1'
可用于提取更改时间和修改时间不相等的文件。
find
的-ctime n
和-mtime n
选项指的是自n
几小时前 以来的最后更改或修改时间。此命令未捕获此时间范围的概念。
【讨论】:
它给了我一个巨大的结果,包括大量的缓存文件。但现在我有一些工作要做。谢谢以上是关于Linux查找mtime和ctime不相等的文件的主要内容,如果未能解决你的问题,请参考以下文章
ctime, mtime, 存放目录, windows, linux