天唯网 关注数码科技发展
首页 /  科技数码 / 内容详情

linux快速删除几十万个文件

科技数码 时间:2024-06-18 23:00:55

Linux下快速删除大量文件

原理:为什么rsync能够快速删除大量文件?

1)rm命令大量调用了lstat64和unlink,可以推测删除每个文件前都从文件系统中做过一次lstat操作。过程:正式删除工作的第一阶段,需要通过getdirentries64调用,分批读取目录(每次大约为4K),在内存中建立rm的文件列表;第二阶段,lstat64确定所有文件的状态;第三阶段,通过unlink执行实际删除。这三个阶段都有比较多的系统调用和文件系统操作。

2)rsync所做的系统调用很少:没有针对单个文件做lstat和unlink操作。命令执行前期,rsync开启了一片共享内存,通过mmap方式加载目录信息。只做目录同步,不需要针对单个文件做unlink。

标签: #科技数码

郑重声明:图文由自媒体作者发布,我们尊重原作版权,但因数量庞大无法逐一核实,图片与文字所有方如有疑问可与我们联系,核实后我们将予以删除。

联系我们 关于我们 版权申明 天唯网数码 广州小漏斗信息技术有限公司 版权所有 粤ICP备20006251号