钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读798152
首页 Linux 正文内容

Linux删除固定时间的文件

钟逸 Linux 2025-06-06 19:00:37 2

find 命令

find 命令可以查找指定时间范围内修改、创建或访问过的文件。要删除特定时间范围内的文件,可以使用以下语法:

find /path/to/directory -newerct {开始时间} -a -not -newerct {结束时间} -exec rm -rf {} \;

其中:

* /path/to/directory 是要搜索的目录。

* {开始时间} 和 {结束时间} 是要删除的文件的修改时间范围。它们可以是绝对时间或相对时间(如 “-10days”)。

例子

例如,要删除过去 10 天内但不在过去 5 天内的 /var/log 目录中的所有文件,可以使用以下命令:

find /var/log -newerct "-10days" -a -not -newerct "-5days" -exec rm -rf {} \;

xargs 命令

xargs 命令可以将多个命令行的输出作为参数传递给另一个命令。它可以与 find 命令结合使用来删除文件:

find /path/to/directory -newerct {开始时间} -a -not -newerct {结束时间} | xargs rm -rf

find2prune

find 命令提供了 -prune 选项,可以跳过当前目录的搜索。这可以提高性能,尤其是在搜索大目录时。

find /path/to/directory -prune -o -newerct {开始时间} -a -not -newerct {结束时间} -exec rm -rf {} \;

注意

* 在执行删除命令之前,请确保已备份重要文件。

* 使用 -exec 选项时,必须使用分号 (;) 作为命令序列的结尾。

* find 命令可以递归搜索目录。如果要仅搜索顶层目录,请使用 -maxdepth 1 选项。

文章目录
    搜索