如何使用Linux命令按时间筛选出最近修改过的文件?

2026-05-06 16:350阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计906个文字,预计阅读时间需要4分钟。

如何使用Linux命令按时间筛选出最近修改过的文件?

要查找最近修改的文件,可以使用`-mtime`或`-mmin`选项。注意,`-mtime`表示修改时间,而`-ctime`表示创建时间。`-ctime`并不是创建时间,而是元数据(如权限、所有权等)变更的时间。因此,`-mtime`或`-mmin`是查找内容修改的更合适选项。

为什么 -mtime 的数字含义反直觉?

-mtime 的数值不是“多少天前”,而是“距现在 n×24 小时到 (n+1)×24 小时之间”。比如:

  • -mtime -1:过去 24 小时内(0 ~ 24h)修改的文件
  • -mtime 1:恰好 24 ~ 48 小时前修改的文件
  • -mtime +1:超过 48 小时前(即 >48h)修改的文件

要找“最近 1 小时改过的”,-mtime -1 不够准——它可能漏掉刚改的文件。此时该用 -mmin -60,精度更高。

-mmin-mtime 性能差异在哪?

-mmin 对每个文件都调用 stat() 读取精确秒级时间,适合小范围、高精度场景(如监控脚本);-mtime 在部分文件系统上可利用目录时间戳粗筛,速度更快。

阅读全文
标签:Linux

本文共计906个文字,预计阅读时间需要4分钟。

如何使用Linux命令按时间筛选出最近修改过的文件?

要查找最近修改的文件,可以使用`-mtime`或`-mmin`选项。注意,`-mtime`表示修改时间,而`-ctime`表示创建时间。`-ctime`并不是创建时间,而是元数据(如权限、所有权等)变更的时间。因此,`-mtime`或`-mmin`是查找内容修改的更合适选项。

为什么 -mtime 的数字含义反直觉?

-mtime 的数值不是“多少天前”,而是“距现在 n×24 小时到 (n+1)×24 小时之间”。比如:

  • -mtime -1:过去 24 小时内(0 ~ 24h)修改的文件
  • -mtime 1:恰好 24 ~ 48 小时前修改的文件
  • -mtime +1:超过 48 小时前(即 >48h)修改的文件

要找“最近 1 小时改过的”,-mtime -1 不够准——它可能漏掉刚改的文件。此时该用 -mmin -60,精度更高。

-mmin-mtime 性能差异在哪?

-mmin 对每个文件都调用 stat() 读取精确秒级时间,适合小范围、高精度场景(如监控脚本);-mtime 在部分文件系统上可利用目录时间戳粗筛,速度更快。

阅读全文
标签:Linux