Linux下正确快速删除海量文件的方法分享
程序员文章站
2023-11-02 11:06:34
前言
注意本文说的“海量”并不是指体积大,而是指数量,比如一个目录下有数百万个小文件。
最近在优化服务器时发现postfix下的maildrop目录和clientmqu...
前言
注意本文说的“海量”并不是指体积大,而是指数量,比如一个目录下有数百万个小文件。
最近在优化服务器时发现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
引用参数来重建目录,然后删除重命名的目录。直接删除目录的方法速度是十分的快。也可以留着备份不删。更安全。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
推荐阅读
-
Linux下快速批量修改文件夹下的图片名称的方法
-
恢复linux下被删除的syslog—/var/log/messages文件方法
-
Linux下正确快速删除海量文件的方法分享
-
Linux下删除大数据文件中部分字段重复行的方法
-
linux、unix下快速清空文件的方法
-
Windows和Linux双系统下删除Linux系统方法和Windows无法启动问题的快速解决方法
-
误删除$ORACLE_HOME/dbs下的参数文件、密码文件快速重建的方法
-
Linux下删除乱码或特殊字符文件的方法讲解
-
恢复linux下被删除的syslog—/var/log/messages文件方法
-
Linux下快速批量修改文件夹下的图片名称的方法