linux删除大量文件的6种方法

 更新时间:2014年02月07日 10:08:17   作者:  
这篇文章主要介绍了linux删除大量文件的6种方法,需要的朋友可以参考下

首先建立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
首先建立空文件夹blanktest

复制代码 代码如下:

 ~  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

相关文章

  • 如何使用 Shell 脚本执行 .NET Core 应用

    如何使用 Shell 脚本执行 .NET Core 应用

    这篇文章主要介绍了如何使用 Shell 脚本执行 .NET Core 应用,帮助大家更好的理解和使用shell 脚本,感兴趣的朋友可以了解下
    2020-09-09
  • 如何使用shell获取进程名的内存以及CPU利用率

    如何使用shell获取进程名的内存以及CPU利用率

    最近工作中遇到一个需求,需要找出占用高的进程,所以下面这篇文章主要给大家介绍了关于如何使用shell获取进程名的内存以及CPU利用率的相关资料,需要的朋友可以参考下
    2022-04-04
  • shell脚本编程之数组

    shell脚本编程之数组

    数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标
    2016-01-01
  • shell脚本之判断输入参数是否为整数值的实例

    shell脚本之判断输入参数是否为整数值的实例

    今天小编就为大家分享一篇shell脚本之判断输入参数是否为整数值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 一篇教会你写90%的shell脚本(入门小结)

    一篇教会你写90%的shell脚本(入门小结)

    这篇文章主要介绍了一篇教会你写90%的shell脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • linux bash字符串处理大全

    linux bash字符串处理大全

    linux bash字符串处理大全,需要的朋友可以参考下
    2013-02-02
  • Linux Shell中curl和wget使用代理IP的方法教程

    Linux Shell中curl和wget使用代理IP的方法教程

    这篇文章主要给大家介绍了关于在Linux Shell中curl和wget使用代理IP的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • Shell脚本实现获取网页快照并生成缩略图

    Shell脚本实现获取网页快照并生成缩略图

    这篇文章主要介绍了Shell脚本实现获取网页快照并生成缩略图,本文获取网页快照使用phantomjs、生成缩略图使用ImageMagick,需要的朋友可以参考下
    2015-02-02
  • Shell文本处理三剑客之sed的使用

    Shell文本处理三剑客之sed的使用

    这篇文章主要介绍了Shell文本处理三剑客之sed的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Linux用户和用户组管理方法介绍

    Linux用户和用户组管理方法介绍

    这篇文章介绍了Linux用户和用户组管理的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论