我想在我的文件夹中搜索/home/user
特定文件夹名称并删除它及其所有内容。我们可能会在多个文件夹中发现同一个文件夹多次出现/home/user
我该如何进行此操作:注意:使用 PuTTY。
答案1
尝试一下:
find /home/user -type d -iname "searchdir" -exec rm -ir "{}" \;
将find
搜索/home/user
所有包含目录searchdir
并执行rm -ir
所有目录。对于每个目录,它将提示您是否应将其删除(之后-i
会rm
执行该操作)。
哦...并且您可能想添加-d 1
它find
是否只在最高层次结构中搜索。
答案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
并将文件移动到另一个文件夹,这样如果出现问题,就不会丢失任何内容。