linux删除大量文件的6种方法
发布时间:2020-12-15 00:54:22 所属栏目:C语言 来源:网络整理
导读:首先建立50万个文件 复制代码 代码如下: test for i in $(seq 1 500000) for do for echo test $i.txt for done 1rm 复制代码 代码如下: test time rm -f * zsh: sure you want to delete all the files in /home/hungerr/test [yn]? y zsh: argument list t
首先建立50万个文件 复制代码 代码如下: test for i in $(seq 1 500000) for> do for> echo test >>$i.txt for> done 1 rm 复制代码 代码如下: test 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 复制代码 代码如下: test 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 复制代码 代码如下: test time find ./ -type f -delete find ./ -type f -delete 0.43s user 11.21s system 2% cpu 9:13.38 total 用时9分钟。 4 rsync 复制代码 代码如下: ~ time rsync -a --delete blanktest/ test/ rsync -a --delete blanktest/ test/ 0.59s user 7.86s system 51% cpu 16.418 total 16s,很好很强大。 5 Python 复制代码 代码如下: import os import time stime=time.time() for pathname,dirnames,filenames in os.walk('/home/username/test'): for filename in filenames: file=os.path.join(pathname,filename) os.remove(file) ftime=time.time() print ftime-stime 复制代码 代码如下: ~ python test.py 494.272291183 大概用时8分钟。 6 Perl 复制代码 代码如下: test time perl -e 'for(<*>){((stat)[9]<(unlink))}' perl -e 'for(<*>){((stat)[9]<(unlink))}' 1.28s user 7.23s system 50% cpu 16.784 total 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |