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脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著)

    shell脚本学习指南[六](Arnold Robbins & Nelson H

    这篇文章主要介绍了shell脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以参考下
    2014-02-02
  • linux下监视进程 崩溃挂掉后自动重启的shell脚本

    linux下监视进程 崩溃挂掉后自动重启的shell脚本

    如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题。在Linux系统中,强大的shell就可以很灵活的处理这样的事务
    2013-06-06
  • Shell中特殊字符的用法总结大全

    Shell中特殊字符的用法总结大全

    这篇文章主要给大家总结了关于Shell中特殊字符的相关资料,文中包括分好、&、#、!、$、大于号、单双引号等等一系列特殊字符的用法,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • Linux使用Split命令分割文件与合并的操作方法

    Linux使用Split命令分割文件与合并的操作方法

    Linux split是一个命令行工具,用于将文件分割成多个较小的文件,它可以按照文件大小、行数或者指定的分割符来进行分割,本文给大家介绍了Linux使用Split命令分割文件与合并的操作方法,需要的朋友可以参考下
    2024-03-03
  • shell版Nginx日志蜘蛛爬取查看脚本

    shell版Nginx日志蜘蛛爬取查看脚本

    这篇文章主要介绍了shell版Nginx日志蜘蛛爬取查看脚本的相关资料,需要的朋友可以参考下
    2015-03-03
  • 数据结构 二叉树的递归与非递归

    数据结构 二叉树的递归与非递归

    这篇文章主要介绍了数据结构 二叉树的递归与非递归的相关资料,需要的朋友可以参考下
    2017-05-05
  • Linux链接命令的实例详解

    Linux链接命令的实例详解

    这篇文章主要介绍了Linux链接命令的实例详解的相关资料,希望通过本文大家能掌握Linux链接命令的使用方法,需要的朋友可以参考下
    2017-08-08
  • 使用shell脚本来给mysql加索引的方法

    使用shell脚本来给mysql加索引的方法

    今天小编就为大家分享一篇关于使用shell脚本来给mysql加索引的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Linux SHELL if命令参数说明

    Linux SHELL if命令参数说明

    SHELL if命令参数介绍,方便学习shell命令的朋友,需要的朋友可以参考下
    2013-01-01
  • Linux中cat命令的使用详解

    Linux中cat命令的使用详解

    cat 命令的用途不仅仅是显示文件内容,还可以打印文本文件的文件内容,下面就为大家详细介绍一下Linux中cat命令的具体用法,需要的小伙伴可以了解一下
    2023-08-08

最新评论