删除一个目录中所有超过1天的文件

3

我需要确保在我的目录中没有旧文件,所以我打算执行以下操作:

find . -type f -mtime +1 -delete
  • 我从find手册中得到了这个命令:

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

然而,现在出现了错误提示:find: -exec requires an argument,难道我没有传递参数吗?于是我开始搜索,发现我的命令应该写成这样:

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

现在我只想知道这两个{}和加号+的作用是什么。有谁可以帮助我吗?
谢谢!
1个回答

10

{} 代表找到的文件名。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接