find -exec rm -rf 出现 “No such file or directory “

问题:find 结合exec 批量删除文件时,出现No such file or directory的错误,但是检查发现,文件确实已经被删除;

研究:

通过使用exec /bin/ls {} \; 查看,发现find不仅查询了被删除的根目录,并且遍历了所有子目录;

解决:

添加参数-maxdepth 1 ,让find只找出所需操作目录的第1层文件及目录即可解决此问题

find directory -name “*” -maxdepth 1 -exec rm -rf {} \;