我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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删除


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最快,最方便。

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

测试一下Linux下面删除大量文件的效率。 首先建立50万个文件 $ test for i in $(seq 1 500000);do echo text >>$i.txt;done1. rm删除$ time rm -f * zsh: su
2022-06-03

PHP 数组键和值互换:不同算法的效率对比

在 php 中,互换数组键和值的最佳算法是:array_flip():时间复杂度 o(n),空间复杂度 o(n)。foreach() 循环:适用于大数组,时间复杂度 o(n),空间复杂度 o(1)。array_combine():类似于 a
PHP 数组键和值互换:不同算法的效率对比
2024-05-04

利用Python读取文件的四种不同方法比对

前言 大家都知道Python 读文件的方式多种多样,但是当需要读取一个大文件的时候,不同的读取方式会有不一样的效果。下面就来看看详细的介绍吧。 场景逐行读取一个 2.9G 的大文件CPU i7 6820HQRAM 32G方法对每一行的读取进
2022-06-04

PHP数组深度复制的性能效率:不同方法的对比分析

php 数组深度复制效率对比:clone效率最高,可提高7倍以上性能。array_merge_recursive效率最低。对于复杂数组,clone是最佳选择。PHP数组深度复制的性能效率:不同方法的对比分析简介在PHP中,数组是一种常用
PHP数组深度复制的性能效率:不同方法的对比分析
2024-04-30

dedecms删除文章同时也删除附件的修改方法

首先添加两个函数 复制代码代码如下: function getArcBody($arcid) { global $dsql; if(empty($arcid)) return ; $body
2022-06-12

Linux服务器删除文件夹、删除文件、解压命令的方法

一、删除文件夹 例:rm -rf /usr/java 将会删除/usr/java目录以及其下所有文件、文件夹 二、删除文件 例:rm -f /usr/tomcat/conf/server.xml 将会强制删除/usr/tom
2022-06-04

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

首先建立50万个文件 test for i in $(seq 1 500000)for> dofor> echo test >>$i.txtfor> done1 rm test time rm -f *zsh: sure you wan
2022-06-04

linux删除大量文件方法有哪些

本篇内容主要讲解“linux删除大量文件方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux删除大量文件方法有哪些”吧!首先建立50万个文件代码如下:test for i in
2023-06-09

Linux命令行删除文件实操方法

rm命令 rm命令是大多数人在删除文件时经常使用的命令,它用于删除一个文件或者目录。 rm命令的语法如下:rm /path/to/file还可以删除文件夹和子文件夹中的所有文件,如下所示:rm -R /path/to/folder文件一旦通
2022-06-04

php文件删除不了的解决方法

这篇文章主要介绍php文件删除不了的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php文件删除不了的解决办法:1、修改文件权限;2、打开相应的PHP文件,然后添加“unset($fileInfo);”即可。
2023-06-07

Shell脚本对比两个文本文件找出不同行的方法介绍

这篇文章主要介绍“Shell脚本对比两个文本文件找出不同行的方法介绍”,在日常操作中,相信很多人在Shell脚本对比两个文本文件找出不同行的方法介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本
2023-06-09

如何进行Linux大文件重定向和管道的效率对比

这篇文章的内容主要围绕如何进行Linux大文件重定向和管道的效率对比进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!Linux入门# 命令1,管道导入
2023-06-28

Linux中文件/文件夹无法删除的解决方案

前言 最近我们的服务器被黑客攻击,然后有些文件的属性被修改,导致我们无法删除病毒文件,同时采用 root 用户也无法删除,现在把解决方案记录下来。 普通删除如果文件是当前用户的,那么使用 rm 命令就可以删除rm -rf file.
2022-06-04

linux批量删除文件的方法是什么

在Linux中,有多种方法可以批量删除文件。以下是几种常用的方法:1. 使用通配符删除:可以使用通配符来指定要删除的文件的模式。例如,要删除所有以.txt结尾的文件,可以使用以下命令:```$ rm *.txt```2. 使用find命令删
2023-08-21

linux删除指定文件的方法是什么

在Linux中,可以使用以下命令来删除指定文件:1. 使用rm命令:rm是一个用于删除文件或目录的命令。使用该命令时需要注意,删除操作无法撤销,因此请谨慎操作。```rm 文件名```例如,删除名为"file.txt"的文件:```rm f
2023-10-09

Windows.old文件夹删除不了的解决方法

Windows.OLD文件夹是Win7对以前的旧版系统所做的备份。因为其特殊性,用户不能直接删除该文件夹。在直接删除的时候常常会出现“找不到该项目”的错误,导致Windows 7的Explorer(资源管理器)崩溃。
2023-06-03

linux删除的文件恢复方法是什么

本篇文章为大家展示了linux删除的文件恢复方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Linux系统中误删除一个文件并不会把删除的文件转移到任何位置,而是直接把它们从系统中删除。步骤把
2023-06-28

win8删除文件不提示怎么开启方法

1、首先按win键或者在开始菜单点击www.cppcns.com桌面,从javascriptwin8开始菜单回到桌面上.2、在桌面上找到回收站的MsoPULKh图标,左键单击选中然后再右击选择属性.3、在属性中找到显示删除确认对话框,将前边
2023-06-03

编程热搜

目录