源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Linux下正确快速删除海量文件的方法分享

  • 时间:2022-07-14 03:13 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Linux下正确快速删除海量文件的方法分享
[b]前言[/b] 注意本文说的“海量”并不是指体积大,而是指数量,比如一个目录下有数百万个小文件。 最近在优化服务器时发现postfix下的maildrop目录和clientmqueue目录下发现有大量的文件,进入这些目录里使用[code]ls[/code]命令是愚蠢的做法,而直接执行[code]rm * [/code], 没有任何反应,文件数量也没有减少,也就是说,在海量文件目录里直接使用[code]rm[/code]命令进行删除是无效的。 [b]那么正确的方法是什么呢?有两种方法可选:[/b] [b]第一种:[/b]
find /path/to/directory -type f -exec rm {} \;
[b]第二种:[/b]
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
上面的方法是将目录重命名,然后使用了 [code]--reference [/code]引用参数来重建目录,然后删除重命名的目录。直接删除目录的方法速度是十分的快。也可以留着备份不删。更安全。 [b]总结[/b] 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部