用find找到匹配文件后用-exec删除

来源:4-3 Linux中 find命令

xuexidafahao

2018-11-20 16:19

https://img1.mukewang.com/5bf3c2ff00011ba705580116.jpg

我在/root下建立了abc和abd两个文件夹,希望通过通配符的方式,找到这两个文件,并通过-exec rm -rf {}  \;删除

事实上执行完命令 find /root -name "ab[cd]" -exec rm -rf {} \;后,这两个文件夹也确实被删除了,但为什么还会报错呢???

写回答 关注

1回答

  • nicholasMall
    2018-11-20 17:29:07

    查看Linux内核版本,是否find命令或者 -exec 有其他问题。从提示看来,像是执行了2次 rm -rf ; 

    大概可能是,在第一次找到去删除了一次,执行结束后又执行了一次。

    而-exec 后面的语法 rm -rf 后面的参数是一个绝对路径的文件名。

    find找到之后去执行 -exec 后面的 rm ,才会出现这种情况。

    以上只是猜测。

Linux达人养成计划 I

Linux入门视频教程,以通俗易懂的语言带你感受linux之美

399344 学习 · 3791 问题

查看课程

相似问题