可以通过在 find 命令中使用以下选项来实现。
-
atime – 上次访问文件(或目录)数据的时间
-
mtime – 上次修改文件(或目录)数据的时间
-
mmin – 文件数据的最后修改时间少于、多于或恰好是 n 分钟前。
-
amin – 上次访问文件的时间少于、多于或恰好是 n 分钟前。
什么是查找命令?
find 是一个强大的命令行实用程序,它搜索文件系统的一个或多个目录树,根据条件定位文件。我们可以在 find 命令中传递多个参数来实现许多要求。
1、根据文件修改时间(mtime)搜索和删除文件
# find /home/test -type f -mtime +30 -print
根据搜索结果可进一步删除操作
# find /home/test -type f -mtime +30 -delete; 或者 # find /home/test -type f -mtime +30 -exec rm -f {} \; 或者 # find /home/test -type f -mtime +30 | xargs rm -f
参数:
-
find:
find 是一个命令 -
/home/sudha:
文件路径(它应该被你的替换) -
-type f:
什么类型的文件 -
-mtime +30:
它过滤 30 天前的文件。 -
-exec rm -f
执行文件删除操作 -
{}:
表示通过 Find 命令找到的文件。 -
\;
它将结束命令。
2、根据扩展名查找并打印早于 1 天的文件。此输出将帮助我们在执行删除之前确认这些文件。
# find /home/test -type f -name "*.jpeg" -mtime +1 -print
确认后,执行以下完整命令删除:
# find /home/test -type f -name "*.jpeg" -atime +10 -delete; 或者 # find /home/test-type f -name "*.jpeg" -atime +10 -exec rm -f {} \; 或者 # find /home/test -type f -name "*.jpeg" -atime +10 | xargs rm -f
3、根据文件修改的时间进行查找并删除。
根据文件修改分钟 (mmin) 进行查找并打印输出超过 40 分钟的文件。
# find /home/test -type f -mmin -40 -print
确认后,执行以下完整命令删除:
# find /home/test -type f -mmin -40 -delete; 或者 # find /home/test -type f -mmin -40 -exec rm -f {} \; 或者 # find /home/test -type f -mmin -40 | xargs rm -f
4、根据扩展名查找修改时间超过5个小时的文件打印输出,并删除。
# find /home/test -type f -name "*.txt" -mmin -300 -print
确认后,执行以下完整命令删除:
# find /home/test -type f -name "*.txt" -mmin -300 -delete; 或者 # find /home/test -type f -name "*.txt" -mmin -300 -exec rm -f {} \; 或者 # find /home/test -type f -name "*.txt" -mmin -300 | xargs rm -f