使用find命令删除目录成功却仍提示错误

目录结构:

./a
./a/b
./a/b/c
./a/b/c/d
./a/b/c/d/file1
./a/b/c/file1
./a/b/d

 

使用find命令找到文件file1并删除:

find . -type f -name "file1" -exec rm {} \;

 

验证结果:

./a
./a/b
./a/b/c
./a/b/c/d
./a/b/d

 

使用find命令找到目录d并删除:

find . -type d -name "d" -exec rm -r {} \
./a
./a/b
./a/b/c

实际目录d已经删除成功,但是服务器仍提示错误信息:

find: ‘./a/b/c/d’: No such file or directory
find: ‘./a/b/d’: No such file or directory

 

如需要删除所有的目录d,则使用以下命令能够成功删除且无错误提示:

find . -type d -name 'd' -prune -exec rm -rf {} \;

 

如只要删除某个指定目录下的目录d,如a/b下的目录d,则使用一下命令:

find a/b/ -maxdepth 1 -type d -name d -exec rm -rf {} \;

其中maxdepth 1指的是仅在给定的目录下搜索目录d

posted on 2020-01-19 16:09  苦海舟  阅读(619)  评论(0)    收藏  举报

导航