【发布时间】:2016-09-17 18:37:13
【问题描述】:
这是我正在使用的目录的内容:
misha@hp-laptop:~/work/c/5$ ls -l
total 8
-rw-rw-r-- 1 misha misha 219 May 20 15:37 demo.c
drwxrwxr-x 2 misha misha 4096 May 20 16:07 folder
-rw-rw-r-- 1 misha misha 0 May 20 16:06 test
现在我想从这个目录中删除除文件demo.c 之外的所有内容。这是我想出的命令:
find . ! \( -name demo.c -o -name . \) -exec rm -Rf {} \;
它完全按照您的想法执行(意思是,文件test 和目录folder 消失了),但同时它也显示以下错误消息:
find: `./folder': No such file or directory
你认为这是为什么?
【问题讨论】:
-
尝试
find . -depth ...,否则find会在删除后尝试进入文件夹./folder
标签: linux bash shell unix find