rm -irf -Irf 使用 find

rm -irf -Irf 使用 find

为什么在使用选项 i 或 I 进行 rm 时下面的语句不要求确认?

// pass aggregated 
find . -name $name -type d -exec rm -irf {} \;
// pass each
find . -name $name -type d -exec rm -irf {} +

答案1

-i选项要求确认,但-f命令中后面的选项将覆盖它,从而关闭确认对话框。

观察:

$ rm -fri file1
rm: remove regular empty file 'file1'? n
$ rm -irf file1
$ 

如果出现上述第一种形式,则-f先出现,-i后出现。因此,-i覆盖-frm要求确认。

在上述第二种形式中,-i首先出现,-f然后出现。在这种情况下,-f将覆盖并且不会出现确认对话框。

文档

man rm

-f,--force
忽略不存在的文件和参数,从不提示

-我
每次删除前都会提示

-我
在删除三个以上文件之前或递归删除时提示一次;比 -i 干扰更小,同时仍能防止大多数错误

相关内容