`rm -f`要求确认,当别名为`rm -i`时

时间:2016-08-02 11:44:23

标签: bash alias rm

我使用此命令尝试删除非常大的文件夹中的所有Thumbs.db文件。我认为-f应该强制删除而不要求确认,但我仍然被提示输入" y"或" n"在每个文件上。

find "megapacks" -name Thumbs.db -ok rm -f {} \;

我尝试type rm查看是否有别名,并以

回复
   rm别名为`rm -i'

我尝试使用/bin/rm,但我仍然被提示

find "megapacks" -name Thumbs.db -ok /bin/rm -f {} \;

有没有人对如何避免确认有其他想法?

2 个答案:

答案 0 :(得分:4)

问题出在find "megapacks" -name Thumbs.db -delete 选项上,符合-ok

  

man find类似,但首先询问用户。如果用户同意,请运行该命令。否则只返回false。

这应该适用于-exec

-exec

或更快:

find "megapacks" -name Thumbs.db -exec /bin/rm -f {} \;

答案 1 :(得分:2)

但我认为问题是您将-ok传递给find,这是

  

-exec类似,但请先询问用户。

如果别名是问题,只需取消设置别名:

unalias rm

请注意,这只会影响当前的shell会话。

您还可以使用-delete的{​​{1}}选项:

find