如何在 Linux 中查找最近 N 分钟内修改的文件?
在对代码或服务器进行故障排除时,查找最近修改的文件是我们经常要用的命令。修改了哪些日志文件?当我运行这个命令时,哪些文件发生了变化?多功能的find 命令可以实现这些功能。
下面的命令将在当前目录中查找最近五分钟内修改过的所有文件。
find . -type f -mmin -5
具体应该怎么用,下面我将详细介绍。
在 Linux 中查找修改过的文件
使用 find 命令查找在最后 n 分钟被修改的文件的语法:
find [path] -type f -mmin n
n 表示要检查的分钟数,但也有一些其他选择,例如:
- -n 将检查在少于 n 分钟内修改的文件
- +n 将检查超过 n 分钟修改的文件
- n 将检查恰好在 n 分钟前修改的文件
同样,也可以使用-mtime而不是-mmin检查几天前修改的文件。
查找最近 5 分钟内修改的文件
所以假设我想在 var 目录中列出最近 5 分钟内刚刚修改过的文件,我的命令如下:
find .var/ -type f -mmin -5
追加-ls可以展示更多信息,例如文件所有者、权限和修改时间。
find .var/ -type f -mmin -5 -ls
💡find 命令允许对其结果进行一些操作,-ls就是之一。
查找最近 n 天内修改的文件
要查找过去 n 天而不是 n 分钟内修改过的文件,只需使用-mtime而不是-mmin.
假设我想查找最近一天修改过的文件,我的命令是:
find /media/sagar/HDD/Downloads -type f -mtime -1 -ls
查找超过 X 天的文件
可以使用该mtime参数查找最近未修改的旧文件。
假设在当前目录中查找超过 30 天的文件,使用这个命令:
find . -mtime +30
查找最近 n 分钟或几天内修改过的目录
find 命令还可以带来修改后的目录列表。
只需将 -type f 更改为 -type d,这将让您搜索目录而不是文件。
为了演示,我将展示如何获取 /.cache/mozilla/firefox 下的修改目录列表:
find .cache/mozilla/firefox/ -type d -mmin -5 -ls
同样,您可以找到几天前工作的目录。
find Downloads/ -type d -mtime -1 -ls
查找最近访问或创建的文件
那么如何查找最近 n 分钟访问或创建的文件呢?
要查找在过去 n 分钟内访问过的文件,您必须使用-amin而不是-mmin.
要在我的首选目录中查找过去 5 分钟内访问的文件,我将使用给定的命令:
find /media/sagar/HDD/Downloads -type f -amin -5 -ls
同理,你也可以通过使用-cmin而不是找到最近n分钟内创建的文件-amin。
find /media/sagar/HDD/Downloads -type f -cmin -5 -ls
- 点赞
- 收藏
- 关注作者
评论(0)