我试图在我定义的目录中查找超过10天的所有.log文件但是当我比较find命令的发现和目录中的内容时,有特定的文件没有被找到命令。任何帮助/方向将不胜感激。我已经遍布Stackoverflow找到答案,但找不到符合我问题的答案。
今天的日期/时间是:01/29/2015 14:33:00
我正在使用的命令是:
find /var/log/app/*.log -type f -mtime +10 ! -name 'Verification1.log'
当我查看文件列表时,此命令发现我没有在列表中看到此文件:
文件名:file.log 修改日期:2015年1月18日下午5:59
如果-mtime在24小时内工作,为什么不在我的文件列表中选择此文件?任何帮助/方向将不胜感激。感谢。
答案 0 :(得分:1)
-mtime +10
意味着超过10天。但是,find
不计算分数。因此,例如,输出将包含11天或12天的文件,但不包括10.9天的文件。
考虑
今天的日期/时间是:01/29/2015 14:33:00
使用-mtime +10
时,只会包含早于01/18/2015 14:33:00的文件。因此,您的1/18/2015 5:59 PM
文件未包含在内,因为5:59pm
在14:33:00
之后,而不是之前。
man find
:
-mtime n
File's data was last modified n*24 hours ago. See the comments for -atime to understand how round‐
ing affects the interpretation of file modification times.
-atime n
File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file
was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been
accessed at least two days ago.