find命令删除选项无法删除文件夹

时间:2017-05-12 11:11:10

标签: bash terminal

我正在尝试使用名称“bin”的所有子目录及其内容。我已经使用带有选项-delete的find命令来执行删除,它已经在某种程度上起作用(JFX文件夹从01开始,我设法删除“bin”文件夹直到JFX13)。但是,并非所有“bin”文件夹及其内容都被删除,这让我非常困惑。

如果有人能弄清楚我做错了什么,我将不胜感激。

以下是它现在的样子

enter image description here

1 个答案:

答案 0 :(得分:1)

根据man page of find-delete用于删除文件和文件夹,但如果内部没有文件则仅 。因此,我建议不要先删除文件,然后再删除文件夹,而是建议-exec使用rm -rf一次性完全清理。

find . -name "bin" -type d -exec rm -rf "{}" +

te man find页面的实际信息,

-delete
       Delete files; true if removal succeeded.  If the removal
       failed, an error message is issued.  If -delete fails, find's
       exit status will be nonzero (when it eventually exits).  Use
       of -delete automatically turns on the `-depth' option.

对于从rm -rf命令一次性返回的所有文件夹调用find,而不是对找到的每个文件夹使用rm命令。

注意: - 仔细使用rm -rf。只有当 绝对 确定要删除的文件夹时才运行此选项,否则请避免运行它。