日期:2014-05-16  浏览次数:20802 次

在Linux系统下递归删除文件或目录的方法

?

在linux下没有类似DOS下 del/s *.dep 的递归删除命令,不知道是不是我还没有找到合适的命令用法,为这个在DOS下非常容易的小问题我搜索了一下,发现这个问题是用find和rm命令组合实现 的,因此还搜索了find的语法,因为find --help给出的说明太简单,根本无法看懂。


下面是实现的方法,不过删除前最好看一下是否是想删除的东西。


# 删除当前目录下所有 dep 文件

find . -name *.dep -type f -exec rm -f {} \;


# 删除当前目录下所有 .svn 目录(包括里面的文件)

find . -name ".svn" -type d -exec rm -rf {} \;


删除目录的命令提示:

find: ./etc/.svn: 没有那个文件或目录

……

这种提示没关系,目录已经按我们的意愿被删除了。
1 楼 vimac 2012-02-24  
那个啥,find有个action叫delete:
find . -name *.dep -type f -delete