在 Linux 中查找并删除文件夹

在 Linux 中查找并删除文件夹

我想在我的文件夹中搜索/home/user特定文件夹名称并删除它及其所有内容。我们可能会在多个文件夹中发现同一个文件夹多次出现/home/user

我该如何进行此操作:注意:使用 PuTTY。

答案1

尝试一下:

find /home/user -type d -iname "searchdir" -exec rm -ir "{}" \;

find搜索/home/user所有包含目录searchdir并执行rm -ir所有目录。对于每个目录,它将提示您是否应将其删除(之后-irm执行该操作)。

哦...并且您可能想添加-d 1find是否只在最高层次结构中搜索。

答案2

查找具有特定名称的文件夹的命令是:-

find -type d -name "YOUR_NAME" -print0 | xargs -r0 rm -rf

上述命令可以避免参数列表太长:-https://stackoverflow.com/questions/7037618/how-much-should-i-worry-about-argument-list-too-long/7037640#7037640

最后,如果你有非 root 用户访问权限,你可能会被拒绝权限

答案3

使用命令“查找”,搜索相关教程。您应该知道的一个非常强大的工具。

答案4

嗯,使用

find /home/user -name 'dir_name' -type d

将带出所有匹配的目录dir_name。因此您可以使用 xargs 并递归删除它。

find /home/user -name 'dir_name' -type d | xargs rm -r

但是,在运行上述命令之前,请检查find命令是否正确返回所有结果。如果您允许我给出提示:不要使用rm -r,而是使用mv并将文件移动到另一个文件夹,这样如果出现问题,就不会丢失任何内容。

相关内容