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

Linux一次删除一百万个文件的最快方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Linux一次删除一百万个文件的最快方法

本篇内容介绍了“Linux一次删除一百万个文件的最快方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

环境:

  • CPU: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz

  • MEM: 4G

  • HD: ST3250318AS: 250G/7200RPM

Linux一次删除一百万个文件的最快方法

使用 –delete 和 –exclude,你可以选择性删除符合条件的文件。还有一点,当你需要保留这个目录做其它用处时,这种方法是再适合不过了。

重新测评

几天前,Keith-Winstein在回复Quora上的这个帖子时说我之前的测评无法复制,因为操作的时间持续的太久。我澄清一下,这些数据过大,可能是因为我的计算机在过去的几年里做的事太多,测评中可能存在一些文件系统错误。但我不确定是这些原因。现在好了,我弄了一天比较新的计算机,把测评再做一次。这次我使用/usr/bin/time,它能提供更详细的信息。下面就是新的结果。

(每次都是1000000个文件。每个文件的体积都是0。)

Linux一次删除一百万个文件的最快方法

原始输出

# method 1~/test $ /usr/bin/time -v  rsync -a --delete empty/ a/        Command being timed: "rsync -a --delete empty/ a/"        User time (seconds): 1.31        System time (seconds): 10.60        Percent of CPU this job got: 95%        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:12.42        Average shared text size (kbytes): 0        Average unshared data size (kbytes): 0        Average stack size (kbytes): 0        Average total size (kbytes): 0        Maximum resident set size (kbytes): 0        Average resident set size (kbytes): 0        Major (requiring I/O) page faults: 0        Minor (reclaiming a frame) page faults: 24378        Voluntary context switches: 106        Involuntary context switches: 22        Swaps: 0        File system inputs: 0        File system outputs: 0        Socket messages sent: 0        Socket messages received: 0        Signals delivered: 0        Page size (bytes): 4096        Exit status: 0# method 2        Command being timed: "find b/ -type f -delete"        User time (seconds): 0.41        System time (seconds): 14.46        Percent of CPU this job got: 52%        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:28.51        Average shared text size (kbytes): 0        Average unshared data size (kbytes): 0        Average stack size (kbytes): 0        Average total size (kbytes): 0        Maximum resident set size (kbytes): 0        Average resident set size (kbytes): 0        Major (requiring I/O) page faults: 0        Minor (reclaiming a frame) page faults: 11749        Voluntary context switches: 14849        Involuntary context switches: 11        Swaps: 0        File system inputs: 0        File system outputs: 0        Socket messages sent: 0        Socket messages received: 0        Signals delivered: 0        Page size (bytes): 4096        Exit status: 0# method 3find c/ -type f | xargs -L 100 rm~/test $ /usr/bin/time -v ./delete.sh        Command being timed: "./delete.sh"        User time (seconds): 2.06        System time (seconds): 20.60        Percent of CPU this job got: 54%        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:41.69        Average shared text size (kbytes): 0        Average unshared data size (kbytes): 0        Average stack size (kbytes): 0        Average total size (kbytes): 0        Maximum resident set size (kbytes): 0        Average resident set size (kbytes): 0        Major (requiring I/O) page faults: 0        Minor (reclaiming a frame) page faults: 1764225        Voluntary context switches: 37048        Involuntary context switches: 15074        Swaps: 0        File system inputs: 0        File system outputs: 0        Socket messages sent: 0        Socket messages received: 0        Signals delivered: 0        Page size (bytes): 4096        Exit status: 0# method 4find d/ -type f | xargs -L 100 -P 100 rm~/test $ /usr/bin/time -v ./delete.sh        Command being timed: "./delete.sh"        User time (seconds): 2.86        System time (seconds): 27.82        Percent of CPU this job got: 89%        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:34.32        Average shared text size (kbytes): 0        Average unshared data size (kbytes): 0        Average stack size (kbytes): 0        Average total size (kbytes): 0        Maximum resident set size (kbytes): 0        Average resident set size (kbytes): 0        Major (requiring I/O) page faults: 0        Minor (reclaiming a frame) page faults: 1764278        Voluntary context switches: 929897        Involuntary context switches: 21720        Swaps: 0        File system inputs: 0        File system outputs: 0        Socket messages sent: 0        Socket messages received: 0        Signals delivered: 0        Page size (bytes): 4096        Exit status: 0# method 5~/test $ /usr/bin/time -v rm -rf f        Command being timed: "rm -rf f"        User time (seconds): 0.20        System time (seconds): 14.80        Percent of CPU this job got: 47%        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:31.29        Average shared text size (kbytes): 0        Average unshared data size (kbytes): 0        Average stack size (kbytes): 0        Average total size (kbytes): 0        Maximum resident set size (kbytes): 0        Average resident set size (kbytes): 0        Major (requiring I/O) page faults: 0        Minor (reclaiming a frame) page faults: 176        Voluntary context switches: 15134        Involuntary context switches: 11        Swaps: 0        File system inputs: 0        File system outputs: 0        Socket messages sent: 0        Socket messages received: 0        Signals delivered: 0        Page size (bytes): 4096        Exit status: 0

我真的十分好奇为什么Lee的方法要比其它的快,竟然比rm -rf也要快。

“Linux一次删除一百万个文件的最快方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

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

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

Linux一次删除一百万个文件的最快方法

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

下载Word文档

猜你喜欢

Linux一次删除一百万个文件的最快方法

本篇内容介绍了“Linux一次删除一百万个文件的最快方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!环境:CPU: Intel(R) Co
2023-06-16

Linux技巧:一次删除一百万个文件的最快方法

最初的测评 昨天,我看到一个非常有趣的删除一个目录下的海量文件的方法。这个方法来自http://www.quora.com/How-can-someone-rapidly-delete-400-000-files里的Zhenyu Lee。
2022-06-03

php删除最后一个逗号的方法

这篇文章主要介绍了php删除最后一个逗号的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php删除最后一个逗号的方法:首先创建一个PHP示例文件;然后定义一个末尾带有逗号
2023-06-08

linux如何删除一个叫做 'file1' 的文件'

在Linux系统中,使用命令行或GUI删除文件。使用rm命令直接删除文件,使用shred命令安全删除文件,使用unlink命令删除链接,或使用GUI删除文件。还提供了有关删除文件时的注意事项,包括永久丢失、仅读文件、目录删除和恢复已删除文件等提示。
linux如何删除一个叫做 'file1' 的文件'
2024-04-11

如何使用Python快速打开一个百万行级别的超大Excel文件

小编给大家分享一下如何使用Python快速打开一个百万行级别的超大Excel文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!有同学求助说,当他试图打开一个20M左右的excel文件时,无论是使用pandas的read_e
2023-06-06

怎么在Linux中恢复一个删除了的文件

这篇文章主要为大家展示了“怎么在Linux中恢复一个删除了的文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在Linux中恢复一个删除了的文件”这篇文章吧。把删除创建为 rm -i 的别名
2023-06-16

windows系统快速删除多个文件/夹的方法

使用Windows时我们往往会需要创建许多文件,但这些文件累积过多时我们却又会很头疼,想要压缩或者全部删除,那么http://www.cppcns.com如何快速的删除多个文件呢?这里就分享下删除多个文件的方法。1、首先我们进入想要删除文件
2023-06-11

Linux 删除和替换文件中某一行的方法【推荐】

如果有一个abc.txt文件,内容是:aaa bbb BATBUSINESSTYPE, INSIDEID--) ONLINE; INSIDEID--) ONLINE ccc ddd eee fff如果要删除ddd,那么脚本可以这样写:
2022-06-04

php删除输出之后最后一个字符的方法

这期内容当中小编将会给大家带来有关php删除输出之后最后一个字符的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、使用substr和strlen函数删除最后一位字符。2、直接使用substr函数倒序
2023-06-25

Linux系统一次重命名多个文件的方法是什么

本篇文章为大家展示了Linux系统一次重命名多个文件的方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。mmv 程序可在基于 Debian 的系统的默认仓库中使用。 要想在 Debian、Ub
2023-06-28

Linux命令行快速技巧之定位一个文件的方法

我们都会有文件存储在电脑里 —— 目录、相片、源代码等等。它们是如此之多。也无疑超出了我的记忆范围。要是毫无目标,找到正确的那一个可能会很费时间。在这篇文章里我们来看一下如何在命令行里找到需要的文件,特别是快速找到你想要的那一个。 好消息是
2022-06-04

linux模糊查找一个文件的方法

在当前目录下搜索指定文件: find . -name test.txt 在当前目录下模糊搜索文件: find . -name '*.txt' 在当前目录下搜索特定属性的文件: find . -amin -10 # 查找在系统中最
2022-06-04

linux如何设置一个文件的 STIKY 位 - 只允许合法所有人删除文件

LinuxSTIKY位是一种文件权限设置,可确保只有合法所有人或root用户才能删除或重命名文件。设置STIKY位需要使用chmod命令,语法为:chmod+t<文件路径>。可以通过ls-l命令验证设置是否成功。STIKY位仅适用于目录和文件,对root用户无效。对于敏感文件,除了设置STIKY位,还应使用其他安全措施,如访问控制列表和加密。
linux如何设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
2024-04-02

Linux系统一次重命名多个文件的方式是什么

小编今天带大家了解Linux系统一次重命名多个文件的方式是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“Linux系统一次重命名
2023-06-28

链接到 doc.go 文件中另一个包的最佳方法

php小编百草将为大家介绍如何在doc.go文件中链接到另一个包的最佳方法。当我们在Go语言项目中使用多个包时,有时我们需要在doc.go文件中引用其他包的文档。这种情况下,我们可以使用"go doc"命令来查看文档,但如果我们想在doc.
链接到 doc.go 文件中另一个包的最佳方法
2024-02-10

怎么在电脑上创建一个无法被删除的文件夹

这篇文章将为大家详细讲解有关怎么在电脑上创建一个无法被删除的文件夹,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法/步骤:1.调出运行窗口,输入cmd命令并点击确定打开命令提示符界面。2.打开命令提示符
2023-06-27

编程热搜

目录