这里有新鲜出炉的 Linux 常用命令,程序狗速度看过来!
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、应用程序和网络协议。
linux 服务器运行久了,可能会出现海量的垃圾文件去删除,下面这篇文章就给大家分享了在 Linux 下正确快速删除海量文件的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
前言
注意本文说的 "海量" 并不是指体积大,而是指数量,比如一个目录下有数百万个小文件。
最近在优化服务器时发现 postfix 下的 maildrop 目录和 clientmqueue 目录下发现有大量的文件,进入这些目录里使用
命令是愚蠢的做法,而直接执行
- ls
, 没有任何反应,文件数量也没有减少,也就是说,在海量文件目录里直接使用
- rm *
命令进行删除是无效的。
- rm
那么正确的方法是什么呢?有两种方法可选:
第一种:
- find / path / to / directory - type f - exec rm {}\;
第二种:
- ls -1 /path/to/directory | xargs -I{} rm {}
上面这两种方法可以成功的删除海量文件,速度也很快。但还有一种更好的方法,比如要删除上面提到的 clientmqueue 目录,里面全部是一个一个的邮件,用下面的方法:
- service sendmail stop
- cd /var/spool
- mv clientmqueue clientmqueue-todelete
- mkdir clientmqueue
- chown --reference=clientmqueue-todelete clientmqueue
- chmod --reference=clientmqueue-todelete clientmqueue
- service sendmail start
- rm -rf clientmqueue-todelete
上面的方法是将目录重命名,然后使用了
引用参数来重建目录,然后删除重命名的目录。直接删除目录的方法速度是十分的快。也可以留着备份不删。更安全。
- --reference
总结
来源: http://www.phperz.com/article/17/0825/337779.html