转载地址: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 的 快速删除大量文件的文件夹shell脚本,可以快速删除大型仓库,通过开辟多进程进行同步删除文件,加快大型仓库删除速度,对于百万级文件数量的仓库效果更好。 可以在任意linux环境下,授予可执行权限后就...
- **批量删除**:一次性处理大量文件,减少用户等待时间。 - **优化的删除算法**:可能采用了多线程或多进程技术,使得删除过程并行化,加快执行速度。 - **安全删除**:除了普通删除,可能还提供了覆盖删除选项,...
本文将详细介绍如何在Linux系统中快速有效地删除大文件、大量小文件、N天前的文件以及特定类型的文件,并提供实用的命令示例及注意事项。 #### 1. 大文件快速删除 对于大文件的删除,可以直接使用`rm`命令。例如,...
以下介绍的六种方法可以帮助你在Linux中高效地删除大量文件。 1. **基础命令`rm`** 使用`rm`命令是最常见的删除文件方式,但当文件数量过多时,如上述示例中的50万个文件,`rm`可能会因为参数列表过长导致失败。为...
在Linux系统中,由于编码问题或文件名包含特殊字符,我们常常会遇到一些无法通过常规方式删除的乱码文件。这些文件可能出现在任何目录下,不仅占用磁盘空间,还可能导致文件管理操作变得复杂。因此,掌握如何在Linux...
随着时间的推移,这些文件可能会变得非常大,占用大量的磁盘空间,因此定期清理和删除不再需要的日志文件是必要的。本篇文章将详细介绍如何编写一个名为`rmlog.sh`的脚本来自动化这个过程。 首先,我们需要了解...
当处理大量文件时,使用`-exec`可能会导致命令行变得很长,从而影响性能。此时可以考虑使用`xargs`命令来优化,例如: ```bash find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -print0 | xargs -0 rm...
在这样的环境下运行Duplicate-File-Eraser,可以更高效地处理大量文件的比较和删除。 5. **MD5校验和**:MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的摘要,...
### Linux自动清理日志文件方法 #### 一、删除文件命令详解 在Linux环境中,日志文件对于系统运维至关重要,但随着时间的推移,这些文件会占用大量的磁盘空间。因此,定期清理旧的日志文件是非常必要的。下面详细...
"Linux系统中的垃圾文件清理" Linux系统中的垃圾文件清理是指在Linux操作系统中清除不必要的、占用磁盘空间和影响系统性能的文件。这些垃圾文件可能来自软件安装、软件运行、浏览器临时文件、非必要文件、文件缓存...
### Linux一次性创建大量用户的方法 在Linux环境下,批量创建用户是一项常见的系统管理任务,尤其是在需要为新入职员工或新项目创建多个用户账户时。本文将详细介绍如何利用Excel完成初始数据域的建立,并通过一...
### Linux下正确快速删除海量文件的方法 #### 前言 在长期运行的Linux服务器上,随着业务的增长或系统的日常操作,可能会积累大量的无用文件(即所谓的“垃圾文件”)。这些文件不仅占用宝贵的磁盘空间,还可能...
这种设计能够快速确定哪些空间是可用的,从而提高文件系统操作的效率,特别是对于大量小文件的情况,位图文件系统通常表现得更为出色。 在设计位图文件系统时,需要考虑以下几个关键点: 1. **空间管理**:位图...
在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也一样),在它的列表中约占100字节的内存,如果加了–delete参数的话...
基于java的多线程大量文件工具删除速度rmdir命令的10倍左右,GIS服务器误操作创建了上亿个文件夹,几千亿的地图切片,为删除这些切片编写了此工具,使用了一天的时间成功删除掉。服务器性能不怎么好所以只开了10个...
这会导致文件系统在处理大量小文件时效率较低,因为每个文件都需要在FAT表中单独记录其数据块的位置。而在Linux中,通过inode机制可以更高效地管理文件和数据块。 #### 十、总结 Linux文件系统的设计旨在提供高效...
Extent 是一种提高磁盘文件描述符效率的方法,它可以减少删除大型文件所需的时间等操作,从而优化文件系统的整体性能。 **持久性预分配:** 对于需要在实际使用磁盘空间之前进行分配的应用程序,Ext4 支持持久性预...
在Linux操作系统中,数据恢复是一项重要的任务,尤其是在不小心删除了重要文件时。本文将深入探讨在Linux环境下如何恢复被删除的文件,主要关注两种常用的数据恢复工具:ext3grep和extundelete。 首先,让我们理解...