Linux 递归删除文件

有人问 rm -rf 无法删除子目录中特定文件的问题,这里总结一下


Linux 为什么 用rm -rf 无法递归删除子目录中的特定文件


比如 如下的文件目录  111 是文件. 1 是文件夹

.
└── 1
    ├── 1
    │   ├── 1
    │   └── 111
    └── 111


我想要删除 111


rm -rf 111  结果值删除了当前目录下的111. 而没有把所有的111 删除掉.


原因是:


这里的 -r 是递归的意思, 但是是递归删除文件夹里面的子目录及所有的文件, 他没有搜索特定文件的意思,所以无法删除子目录中的特定文件


正确的方法


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


或者


find . -name "111"  | xargs rm -f


关于xargs 和 exec的命令用法,请参考这篇文章 


http://blog.csdn.net/arganzheng/article/details/6260720



你可能感兴趣的:(Linux基础知识)