gpt4 book ai didi

Linux删除文件不同方法效率对比

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Linux删除文件不同方法效率对比由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

测试一下Linux下面删除大量文件的效率.

首先建立50万个文件 。

$ test for i in $(seq 1 500000);do echo text >>$i.txt;done 。

1. rm删除 。

$ time rm -f * zsh: sure you want to delete all the files in /home/hungerr/test [yn]? y zsh: argument list too long: rm rm -f * 3.63s user 0.29s system 98% cpu 3.985 total 。

由于文件数量过多,rm不起作用.

2. find删除 。

$ time find ./ -type f -exec rm {} \; find ./ -type f -exec rm {} \; 49.86s user 1032.13s system 41% cpu 43:19.17 total 。

大概43分钟,我的电脑。。。。。。边看视频边删的.

3. find with delete 。

$ time find ./ -type f -delete find ./ -type f -delete 0.43s user 11.21s system 2% cpu 9:13.38 total 。

用时9分钟.

4. rsync删除 。

# 首先建立空文件夹blanktest $ time rsync -a --delete blanktest/ test/ rsync -a --delete blanktest/ test/ 0.59s user 7.86s system 51% cpu 16.418 total16s 。

很好很强大.

5. Python删除 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import os
import timeit
 
def main(): 
   for pathname,dirnames,filenames in os.walk( '/home/username/test' ):   
     for filename in filenames:     
       file = os.path.join(pathname,filename)     
       os.remove( file )    
if __name__ = = '__main__' :
t = timeit.Timer( 'main()' , 'from __main__ import main' )
print t.timeit( 1 )  
1
2
$ python test.py 529.309022903

大概用时9分钟.

6. Perl删除 。

$ time perl -e 'for(<*>){((stat)[9]<(unlink))}' perl -e 'for(<*>){((stat)[9]<(unlink))}' 1.28s user 7.23s system 50% cpu 16.784 total16s 。

这个应该最快了.

7、结果:

  • rm:文件数量太多,不可用
  • find with -exec 50万文件耗时43分钟
  • find with -delete 9分钟
  • Perl 16sPython 9分钟
  • rsync with -delete 16s

结论:删除大量小文件rsync最快,最方便.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://www.cnblogs.com/xzlive/p/12623258.html 。

最后此篇关于Linux删除文件不同方法效率对比的文章就讲到这里了,如果你想了解更多关于Linux删除文件不同方法效率对比的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com