本文主要向大家介绍了Linux运维知识之Linux系统下find命令递归删除查找目录的方法,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。
本文将会讲述如何使用linux系统下的find查找命令来查找目录或文件,并将查找到的所有文件和目录递归删除掉。
Linux find 命令递归删除非空目录
通常情况下我们会想到find命令里的删除操作是使用-delete选项,但是使用该选项只能删除空目录的文件,不能递归删除该目录里的其它文件。如下面的例子:
$ ls dir1
test1
$ find ./ -name "dir1" -type d -delete
find: cannot delete `./dir1': Directory not empty
可以使用下面的Linux find 命令删除非空目录,如:
$ find ./ -name “dir1” -type d -exec rm -rf {} +
或者
$ find ./ -name “dir1” -type d -exec rm -rf \;
Linux find 命令结合xargs命令实现删除非空目录
删除当前目录下的所有空目录
$ find ./ -type d -empty -print0 |xargs -0 -i {} rm -rf “{}”
删除当前目录下所有以“dir”开头的目录
$ find ./ -type d -name “dir*” -print0 |xargs -0 -I {} rm -rf “{}”
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!