linux如何递归查找删除文件或目录

要实现linux递归查找并删除文件/目录的目的,我们可以使用下面的语法将find命令和rm命令一起使用。

这里,末尾的+号表示允许同时读取多个目录。

$ find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf {} +

注意:必须小心使用rm命令,因为它是Linux中使用的最危险的命令之一:你可能会不小心删除关键的系统目录,从而导致系统故障。

在下面的例子中,我们将搜索一个名为files_2008的目录并递归删除它:

$ $find ~/Downloads/software -name "files_2008" -type d -exec /bin/rm -rf {} +

你还可以使用find和xargs;

在下面的语法中,-print0操作允许在标准输出上打印完整的目录路径,后跟一个空字符:

$ find /start/search/from/this/dir -name "dirname-to-delete" -type d -print0 | xargs -0 /bin/rm -rf "{}"

使用上面相同的例子,我们有:

$ find ~/Downloads/software -name "files_2008" -type d -print0 | xargs -0 /bin/rm -rf "{}"

在本文中,我们向你展示了如何在Linux上递归地查找和删除目录,希望对需要的朋友有所帮助!

相关推荐