发布于 2017-08-25 10:57:40 | 169 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Linux常用命令,程序狗速度看过来!

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 引用参数来重建目录,然后删除重命名的目录。直接删除目录的方法速度是十分的快。也可以留着备份不删。更安全。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对PHPERZ的支持。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务