Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何使用find和rm命令删除文件?_Bash_Shell_Unix - Fatal编程技术网

Bash 如何使用find和rm命令删除文件?

Bash 如何使用find和rm命令删除文件?,bash,shell,unix,Bash,Shell,Unix,它将首先找到修改过的文件,然后删除它们。 但它给了我如下的错误, 查找:“-exec”缺少参数 还尝试了各种组合,比如 find -mmin -19 -exec rm '{}'\; 您需要在命令和\之间留出空间 find -mmin -19 -exec rm '{}';\ find -mmin -19 -exec rm '{}'/; find已经提供了-delete选项,因此您不需要使用-exec rm..: find -mmin -19 -exec rm {} \; -删除 删除文件;

它将首先找到修改过的文件,然后删除它们。 但它给了我如下的错误, 查找:“-exec”缺少参数

还尝试了各种组合,比如

find -mmin -19 -exec rm '{}'\;

您需要在命令和
\之间留出空间

find -mmin -19 -exec rm '{}';\
find -mmin -19 -exec rm '{}'/;
find
已经提供了
-delete
选项,因此您不需要使用
-exec rm..

find -mmin -19 -exec rm {} \;

-删除

删除文件;如果删除成功,则为true。如果删除失败,则 发出错误消息。如果-delete失败,则将显示find的退出状态 非零(当它最终退出时)。使用-自动删除 启用-depth选项

警告:不要忘记find命令行是作为 表达式,因此先放置-delete将使find尝试删除 低于您指定的起点的所有内容。在测试 查找以后要用于的命令行 -删除时,应显式指定-depth,以避免以后出现意外情况。因为-delete意味着-depth,所以不能有效地 同时使用-prune和-delete


您缺少一个将大括号与分号分开的基本空格

find -mmin -19 -delete
但这也会产生同样的效果,更容易键入,而且可能执行得更快

find -mmin -19 -exec rm '{}' \;

这是另一个选择。指定要删除文件的日期:

find -mmin -19 -delete

摘录自:

如果您不使用GNU特定的
-delete
选项,请使用空格分隔
{}
和分号,并使用
+
而不是分号。它会给我错误rm:无法删除
。'rm:无法删除'./rm1':是一个目录ls-a。。RM1您不能删除非空目录。如果你想移除整棵树,使
find
首先运行深度。在exec之前添加
-not-type d
,以避免该错误。@tripleee在all@Jasen但是使用
find-delete
可以。使用
find./-type f-iname\*.jpg-delete
只删除
jpg
文件安全吗?它可以将删除当前目录和子目录中的所有jpg文件。
find /SYSADMIT/* -type f -not -newermt "AAAA:MM:DD HH:MI:SS" -delete