`
cfyme
  • 浏览: 275017 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux快速删除大量小文件方法

 
阅读更多

转载地址:http://blog.csdn.net/cywosp/article/details/8285842

 

当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。

    1. rsync安装,有些系统默认安装有该命令

ubuntu系统:sudo apt-get install rsync

fedora 系统:sudo yum install rsync

其他的可以源码安装,到下面的网站下载

http://rsync.samba.org

 

    2. rsync提供了一些跟删除有关的参数

rsync --help | grep delete

     --del                                an alias for --delete-during

     --delete                          delete extraneous files from destination dirs

     --delete-before             receiver deletes before transfer, not during

     --delete-during             receiver deletes during transfer (default)

     --delete-delay               find deletions during, delete after

     --delete-after                receiver deletes after transfer, not during

     --delete-excluded        also delete excluded files from destination dirs

     --ignore-errors             delete even if there are I/O errors

     --max-delete=NUM    don't delete more than NUM files

其中--delete-before接收者在传输之前进行删除操作

 

    3. 示例

清空目录或文件,如下: 

1、先建立一个空目录 

mkdir /data/blank 

2、用rsync删除目标目录 

rsync --delete-before -d -a -H -v --progress --stats /data/blank/ /var/edatacache/

或者

rsync --delete-before -d /data/blank/ /var/edatacache/

 

这样/var/edatacache目录就被快速的清空了。

 

选项说明:

–delete-before 接收者在传输之前进行删除操作

–progress          在传输时显示传输过程

-a                       归档模式,表示以递归方式传输文件,并保持所有文件属性

-H                      保持硬连接的文件

-v                       详细输出模式

–stats                给出某些文件的传输状态

-d                      transfer directories without recursing

 

3、也可以用来删除大文件

假如我们在/root/下有一个几十G甚至上百G的文件data,现在我们要删除它

一、创建一个空文件

    touch /root/empty

二、用rsync清空/root/data文件

    rsync --delete-before -d --progess --stats /root/empty /root/data

 

 

注意:

当SRC和DEST文件性质不一致时将会报错 

当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件 

当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录 

 

分享到:
评论

相关推荐

    Linux下删除大量文件

    ### Linux下删除大量文件的方法与比较 在Linux环境中,经常需要处理大量的文件操作,比如删除。本文将介绍几种常见的在Linux环境下批量删除文件的方法,并通过实际测试对比它们的效率。 #### 一、背景介绍 在...

    linux 快速删除包含大量文件的文件夹脚本

    基于linux 的 快速删除大量文件的文件夹shell脚本,可以快速删除大型仓库,通过开辟多进程进行同步删除文件,加快大型仓库删除速度,对于百万级文件数量的仓库效果更好。 可以在任意linux环境下,授予可执行权限后就...

    快速删除小文件

    - **批量删除**:一次性处理大量文件,减少用户等待时间。 - **优化的删除算法**:可能采用了多线程或多进程技术,使得删除过程并行化,加快执行速度。 - **安全删除**:除了普通删除,可能还提供了覆盖删除选项,...

    大文件快速删除、大量小文件删除、删除N天前的文件以及删除特定类型的文件

    本文将详细介绍如何在Linux系统中快速有效地删除大文件、大量小文件、N天前的文件以及特定类型的文件,并提供实用的命令示例及注意事项。 #### 1. 大文件快速删除 对于大文件的删除,可以直接使用`rm`命令。例如,...

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

    以下介绍的六种方法可以帮助你在Linux中高效地删除大量文件。 1. **基础命令`rm`** 使用`rm`命令是最常见的删除文件方式,但当文件数量过多时,如上述示例中的50万个文件,`rm`可能会因为参数列表过长导致失败。为...

    linux下删除乱码文件

    在Linux系统中,由于编码问题或文件名包含特殊字符,我们常常会遇到一些无法通过常规方式删除的乱码文件。这些文件可能出现在任何目录下,不仅占用磁盘空间,还可能导致文件管理操作变得复杂。因此,掌握如何在Linux...

    Linux 删除日志文件 脚本

    随着时间的推移,这些文件可能会变得非常大,占用大量的磁盘空间,因此定期清理和删除不再需要的日志文件是必要的。本篇文章将详细介绍如何编写一个名为`rmlog.sh`的脚本来自动化这个过程。 首先,我们需要了解...

    Linux 按时间批量删除文件命令(删除N天前文件)

    当处理大量文件时,使用`-exec`可能会导致命令行变得很长,从而影响性能。此时可以考虑使用`xargs`命令来优化,例如: ```bash find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -print0 | xargs -0 rm...

    重复文件删除工具Linux64位

    在这样的环境下运行Duplicate-File-Eraser,可以更高效地处理大量文件的比较和删除。 5. **MD5校验和**:MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的摘要,...

    Linux自动清理日志文件方法

    ### Linux自动清理日志文件方法 #### 一、删除文件命令详解 在Linux环境中,日志文件对于系统运维至关重要,但随着时间的推移,这些文件会占用大量的磁盘空间。因此,定期清理旧的日志文件是非常必要的。下面详细...

    Linux系统中的垃圾文件清理.pdf

    "Linux系统中的垃圾文件清理" Linux系统中的垃圾文件清理是指在Linux操作系统中清除不必要的、占用磁盘空间和影响系统性能的文件。这些垃圾文件可能来自软件安装、软件运行、浏览器临时文件、非必要文件、文件缓存...

    linux一次建立大量用户的方法

    ### Linux一次性创建大量用户的方法 在Linux环境下,批量创建用户是一项常见的系统管理任务,尤其是在需要为新入职员工或新项目创建多个用户账户时。本文将详细介绍如何利用Excel完成初始数据域的建立,并通过一...

    Linux下正确快速删除海量文件的方法分享

    ### Linux下正确快速删除海量文件的方法 #### 前言 在长期运行的Linux服务器上,随着业务的增长或系统的日常操作,可能会积累大量的无用文件(即所谓的“垃圾文件”)。这些文件不仅占用宝贵的磁盘空间,还可能...

    Linux下位图文件系统的设计与实现.pdf

    这种设计能够快速确定哪些空间是可用的,从而提高文件系统操作的效率,特别是对于大量小文件的情况,位图文件系统通常表现得更为出色。 在设计位图文件系统时,需要考虑以下几个关键点: 1. **空间管理**:位图...

    rsync备份海量文件时占用大量内存的解决方法

    在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也一样),在它的列表中约占100字节的内存,如果加了–delete参数的话...

    删除大量文件工具.rar

    基于java的多线程大量文件工具删除速度rmdir命令的10倍左右,GIS服务器误操作创建了上亿个文件夹,几千亿的地图切片,为删除这些切片编写了此工具,使用了一天的时间成功删除掉。服务器性能不怎么好所以只开了10个...

    Linux系统文件系统的工作原理

    这会导致文件系统在处理大量小文件时效率较低,因为每个文件都需要在FAT表中单独记录其数据块的位置。而在Linux中,通过inode机制可以更高效地管理文件和数据块。 #### 十、总结 Linux文件系统的设计旨在提供高效...

    准备迁移到最新的 Linux 文件系统 .pdf

    Extent 是一种提高磁盘文件描述符效率的方法,它可以减少删除大型文件所需的时间等操作,从而优化文件系统的整体性能。 **持久性预分配:** 对于需要在实际使用磁盘空间之前进行分配的应用程序,Ext4 支持持久性预...

    linux下恢复被删除的文件.zip

    在Linux操作系统中,数据恢复是一项重要的任务,尤其是在不小心删除了重要文件时。本文将深入探讨在Linux环境下如何恢复被删除的文件,主要关注两种常用的数据恢复工具:ext3grep和extundelete。 首先,让我们理解...

Global site tag (gtag.js) - Google Analytics