Linux下通过find找文件---通过修改时间查找(-mtime)
通过man手册查找和-mtime选项相关的内容
man find | grep -A 3 mtime
# 这里简单介绍了 -mtime ,还有一个简单的示例
-mtime n
File's data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.
文件数据最后一次修改是在 n*24 小时前。 请参阅 -atime 的注释以了解舍入如何影响文件修改时间的解释。
find $HOME -mtime 0
Search for files in your home directory which have been modified in the last twenty-four hours. This command works this way because the time since each file was last modified is divided by 24 hours and any remainder is discarded. That means that to match -mtime 0, a file will have to have a modification in the past which is less than 24 hours ago.
在您的主目录中搜索过去二十四小时内修改过的文件。 此命令以这种方式工作,因为自上次修改每个文件以来的时间除以 24 小时,并丢弃任何余数。 这意味着要匹配 -mtime 0,文件必须在过去(不到 24 小时前)进行修改。
这个示例说人话就是查找当前用户的主目录下在今天内被修改的文件。
例如今天是2023年12月8日 23点48分
-
-mtime 0
: 用于指定查找文件的修改时间。0
表示“今天之内”。今天凌晨(2023年12月8日 0点0分)过了0点到现在的时间段(2023年12月8日 23点48分) -
-mtime 1
:这里1就表示往前推1天,那就是昨天凌晨(2023年12月7日 0点0分)过了0点到现在的时间段(2023年12月8日 23点48分),如果改成2就表示往前推2天,以此类推。
然后n
还可以在前面使用+
和-
-
-mtime -1
:这个是往前推一天,就是昨天(2023年12月7日 23点48分)到现在(2023年12月8日 23点48分)。 -
-mtime +1
:这个用来查找1天前的文件,就是昨天(2023年12月7日 23点48分)以及更加早的文件。 -
总结:
这里的+1
和-1
修改成其他的数字,就往前推算日期即可。除了-mtime 0
(-mtime 1
)表示今天(昨天到现在)内(从凌晨 0 点开始到当前时间),其他的-mtime
带+n
和-n
选项都可以理解为相对于当前时间的时间范围,需要推到相应的时间点,其中-n
是n天到现在的,+n
是n天以及更加早的。