转载地址: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 的 快速删除包含大量文件的文件夹shell脚本,可以在任意linux环境下,授予可执行权限后就可用,实测比rm 快很多,有问题可留言
描述Linux下使用rsync删除大量文件的技术文档
主要介绍了linux删除大量文件的6种方法,需要的朋友可以参考下
在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也一样),在它的列表中约占100字节的内存,如果加了–delete参数的话...
基于java的多线程大量文件工具删除速度rmdir命令的10倍左右,GIS服务器误操作创建了上亿个文件夹,几千亿的地图切片,为删除这些切片编写了此工具,使用了一天的时间成功删除掉。服务器性能不怎么好所以只开了10个...
最近在优化服务器时发现postfix下的maildrop目录和clientmqueue目录下发现有大量的文件,进入这些目录里使用ls命令是愚蠢的做法,而直接执行rm * , 没有任何反应,文件数量也没有减少,也就是说,在海量文件目录里...
在ubuntu linux下实现的FTP文件上传,程序自动监听目录下是否有图片文件,有文件则自动通过FTP上传到服务器端,同时删除目录下的文件,实现了批量文件上传,自动重命名文件,程序经测试,运行稳定。
主要介绍了Linux删除文件不同方法效率对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
由于linux中的别名机制,使用rm等价与使用rm -i,这样在删除文件或目录时会有提示,如果不想出现提示内容,需要加选项-f。写脚本的时候需要加上-f,因为批量删除文件或目录不需要每次都提示询问。 在unix中rm删除文件...
Inotify是一种强大的、细粒度的、异步的文件系统事件监控机制, linux内核从 2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以...
本章主要介绍了Linux的文件结构、目录结构,同时还介绍了链接,并用大量的实例形象生动地说明了Linux下各种文件的操作。 第4章:文本编辑。本章主要介绍了Linux下的文本编辑器,这是使用Linux的一些基本技能。学好本...
在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件...
本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...
Linux系统中包含了大量的命令,用于管理文件、目录、进程、网络等各个方面。以下是Linux系统中常用的一些命令的简要介绍: 文件与目录管理: ls:列出目录内容。 cd:切换目录。 pwd:显示当前目录的绝对路径。...
随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢。 所以如果你的电脑空间告急的话,可以试着去删除这样的文件,释放...
FILE_PATH下,并且删除PROVINCE_DIR跟UN_ZIP_PATH下文件,这样保证程序每次运行PROVINCE_DIR文件夹下的文件跟UN_ZIP_PATH下的文件都是最新未处理过的,避免了不断判断文件历史记录所带来的大量时间消耗。 所以为了...
Linux是一种开源的操作系统,它提供了许多强大的命令行工具,可以用于管理文件、执行任务、配置系统等。下面是一些常用的Linux命令: ls: 列出当前目录下的文件和文件夹。 cd: 进入指定的目录。 pwd: 显示当前所在...