不管是哪个操作系统,同一级目录存在太多的文件都是一件可怕的事情,不管是读取还是删除的时候。
一旦这种不幸的事情发生在你身上,而又不能完全把整个目录删掉怎么办呢?
你可以用 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