Linux系统下快速删除某个目录下大量文件

By | 2013 年 1 月 5 日

不管是哪个操作系统,同一级目录存在太多的文件都是一件可怕的事情,不管是读取还是删除的时候。

一旦这种不幸的事情发生在你身上,而又不能完全把整个目录删掉怎么办呢?

你可以用 rm -f *.log 但是你马上就会收到一个出错信息:参数列表太长

一个小时以前我一直还是缩小通用匹配符的范围,例如我依次的执行

rm -f a*.log
rm -f b*.log
......

非常费劲,如果这样还不行可以还要继续细化通配符,这样要删除所有log文件可能需要一整天时间。

废话那么多,其实只需要一个命令就可以搞定

ls *.log | xargs rm -f

刚把一个包含几万个文件的目录干掉(/var/log/samba),试试看。

注:用rm -fr (路径+要删文件)也可以。

 

清除/var/spool/clientmqueue/目录下的文件:
# cd /var/spool/clientmqueue
# rm -rf *
如果文件太多占用空间太大用上面命令删除慢的话就执行下面的命令:
# cd /var/spool/clientmqueue
# ls | xargs rm -f

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据