linux - 删除目录中超过 1 天的所有文件

标签 linux bash command-line find

<分区>

我需要确保我的目录中没有遗留任何旧文件,所以我认为我要做的是

find . -type f -mtime +1 -delete
  • 我从查找手册页中得到了它,但随后

    寻找。 -type f -mtime +1 -exec/bin/rm

但是,现在又告诉我find: -exec 需要一个参数 - 我没有通过这个。所以我开始谷歌搜索,我发现我的命令需要看起来像这样:

find . -type f -mtime +1 -exec /bin/rm -f {} +

现在我只想知道这两个 {}+ 符号是干什么用的。有人可以帮我吗?

谢谢!

最佳答案

{} 代表找到的文件的名称。

+ 符号(而不是 ;)表示该命令在同一命令中接受多个文件名,因此 find 可以运行得更快,因为它运行的次数更少。每次执行命令时添加的文件数量受 find 愿意使用的命令行的最大长度限制。

关于linux - 删除目录中超过 1 天的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16680851/

相关文章:

linux - libnetfilter_queue recv() 函数

c - 为什么运算符 >> 不适用于我的字符设备?

C# Net core 2.0 Console.ReadLine() 在 Linux 中,bash

arrays - Bash 脚本 - 函数退出时全局变量变空

command-line - 使用 FFMPEG 通过 QuickTime 对可读的电影进行编码

c - libc 检测到 *** ./textfileread.exe : realloc(): invalid next size: 0x08643008

linux - 如何检索处于可中断 sleep (S+)或其他状态的进程?

bash - 在Docker中使用sed替换路径

android - Windows上的Gradle命令行字符限制

windows - 如何使用 for 循环通过 Windows 10 命令行创建多个文件?