不管是哪个操作系统,同一级目录存在太多的文件都是一件可怕的事情,不管是读取还是删除的时候。   一旦这种不幸的事情发生在你身上,而又不能完全把整个目录删掉怎么办呢?   你可以用 rm -f *.log 但是你马上就会收到一个出错信息:参数列表太长  

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

 

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

 

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

 

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

 

rm -f a*.log

rm -f b*.log

......

 

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

 

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

 

ls *.log | xargs rm -f

 

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

 

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