Linux find 和 -mtime 用法

Linux find 和 -mtime 用法

我有两个不同的基于 Linux 的系统,其中 find 命令似乎没有按预期工作。

我有一个目录。在其中我运行...

ls -l

系统返回...

drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:28 folder1
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:28 folder2
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 22 12:25 folder3
drwxr-xr-x 2 panopticon36 panopticon36 4096 May 24 09:52 folder4

今天是 2017 年 5 月 24 日。

在同一个目录中,如果我运行......

find . -mtime +1 -type d

系统没有返回任何内容。

据我了解,find 命令应查找当前目录“.”中所有超过 1 天的“-mtime +1”目录“-type d”。因此...

folder1
folder2
folder3

据我所知,应该全部列出。我负责的两个系统都表现出这种行为。我做错了什么或遗漏了什么?是否有什么东西修改了目录,导致 ls -l 无法反映正确的修改日期?我还可以尝试其他方法来解决问题吗?欢迎大家提供帮助。

答案1

由于mtime四舍五入的方式很奇怪,+1所以表示“48 小时或更长时间”。手册页中记录了这一点。

记忆的方法是从最基本的用法开始:-mtime 1这意味着该文件是在 24 小时前加上任何分数之前访问的(例如 24+23 小时也匹配)。由此可以“逻辑地”得出+1和的-1含义。

相关内容