linux下快速删除大量文件
假如你要在linux下删除大量文件,比如100万、1000万,像/var/spool/clientmqueue/的mail邮件,
像/usr/local/nginx/proxy_temp的nginx缓存等,那么rm -rf *可能就不好使了。
rsync提供了一些跟删除相关的参数
rsync --help | grep delete
--del an alias for --delete-during
--delete delete files that don't exist on the sending side
--delete-before receiver deletes before transfer (default)
--delete-during receiver deletes during transfer, not before
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files on the receiving side
--ignore-errors delete even if there are I/O errors
--max-delete=NUM don't delete more than NUM files
其中--delete-before 接收者在传输之前进行删除操作
可以用来清空目录或文件,如下:
1、先建立一个空目录
mkdir /data/blank
2、用rsync删除目标目录
rsync --delete-before -d /data/blank/ /var/spool/clientmqueue/
这样目标目录很快就被清空了
又假如你有一些特别大的文件要删除,比如nohup.out这样的实时更新的文件,动辄都是几十个G上百G的,也可
以用rsync来清空大文件,而且效率比较高
1、创建空文件
touch /data/blank.txt
2、用rsync清空文件
rsync -a --delete-before --progress --stats /root/blank.txt /root/nohup.out
building file list ...
1 file to consider
blank.txt
0 100% 0.00kB/s 0:00:00 (xfer#1, to-check=0/1)
Number of files: 1
Number of files transferred: 1
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 27
File list generation time: 0.006 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 73
Total bytes received: 31
sent 73 bytes received 31 bytes 208.00 bytes/sec
total size is 0 speedup is 0.00
tips:
当SRC和DEST文件性质不一致时将会报错
当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件
当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录
最重要的是,它的处理速度相当快,处理几个G的文件也就是秒级的事
最核心的内容是:rsync实际上用的就是替换原理
分享到:
相关推荐
### Linux下删除大量文件的方法与比较 在Linux环境中,经常需要处理大量的文件操作,比如删除。本文将介绍几种常见的在Linux环境下批量删除文件的方法,并通过实际测试对比它们的效率。 #### 一、背景介绍 在...
本文将详细介绍如何在 Linux 下恢复删除的文件。 文件系统结构 在 Linux 下,文件系统是按照inode(索引节点)来组织的。每个文件或目录都对应着一个inode, inode 中包含了文件的元数据,例如文件的权限、所有者...
基于linux 的 快速删除大量文件的文件夹shell脚本,可以快速删除大型仓库,通过开辟多进程进行同步删除文件,加快大型仓库删除速度,对于百万级文件数量的仓库效果更好。 可以在任意linux环境下,授予可执行权限后就...
本文主要关注如何在Linux下快速删除文件以及正确关闭系统,这两个话题对于任何Linux用户来说都至关重要。 首先,让我们深入了解一下如何在Linux中删除文件。在Linux的命令行界面,`rm`命令是用于删除文件的标准工具...
本文将详细介绍如何在Linux环境下查询并删除文件,这对于系统管理员和开发人员来说是非常实用的技能。 #### 二、基础知识 在深入探讨具体的命令之前,我们先来了解一下几个基础概念: 1. **文件系统**:Linux采用...
### Linux删除文件 删除单个文件时,直接使用`rm`命令即可,例如: ```bash rm file_name ``` 如果你想强制删除,同样可以加上`-f`参数: ```bash rm -f file_name ``` ### 删除指定文件之外的其他文件 如果你...
本文将详细介绍Linux下如何恢复误删除的文件,以及涉及的文件操作命令。 首先,我们需要理解Linux文件系统的构成,这包括文件名、inode(索引节点)和block(数据块)。文件名是人们易于理解和识别的名称,实际存储...
Linux下清空与删除指定大小的大文件命令 在 Linux 系统中,清空和删除大文件是非常常见的操作。今天,我们将学习如何使用 Linux 命令来清空和删除指定大小的大文件。 一、查找大文件 在 Linux 系统中,查找大文件...
对于单个大文件,这些操作可能很快,但当处理大量小文件时,每个文件都要进行同样的步骤,累积的时间就会显著增加。 为了优化这一过程,我们可以考虑以下方法: 1. **批处理删除**:通过编写脚本或使用命令行工具...
因此,掌握如何在Linux环境下正确删除这类乱码文件是一项重要的技能。以下将详细阐述如何在Linux系统中处理并删除乱码文件。 ### 1. 确定乱码文件 首先,我们需要确定哪些是乱码文件。在Linux中,`ls` 命令用于列...
总之,Java结合ganymed-ssh2库,为开发者提供了强大的工具,使他们能够在安全的环境下与Linux服务器进行交互,实现文件的上传、下载、操作和删除,极大地提升了远程管理服务器的效率。在开发过程中,理解这些基本...
通过使用`find`命令结合`-mtime`和`-name`选项,我们可以有效地批量删除Linux系统中指定目录下N天前的文件。这种方法简单高效,适用于各种规模的数据清理任务。当然,在实际操作过程中一定要小心谨慎,避免误删重要...
作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。然而,对于家庭单机使用的 Linux,或者误删文件后及时补救,还是可以恢复的。 Ext2 文件系统结构 在 Linux 所用的 Ext2 文件系统中,...
Linux 定时删除文件 Linux 操作系统提供了一个名为 crontab 的计划任务服务,可以自动执行指定的命令或脚本,以实现定时删除文件的功能。下面将详细介绍如何使用 crontab 实现定时删除文件。 什么是 crontab ...
随着时间的推移,这些文件可能会变得非常大,占用大量的磁盘空间,因此定期清理和删除不再需要的日志文件是必要的。本篇文章将详细介绍如何编写一个名为`rmlog.sh`的脚本来自动化这个过程。 首先,我们需要了解...
小文件的块直接在inode中记录,大文件则通过间接块来存储更多的块地址,形成多级间接块结构,以适应大文件的存储需求。 2. 恢复被误删文件的方法 恢复被误删的文件主要依赖于debugfs工具,这是一个用于对Ext2文件...
特别是在Linux环境下,掌握如何高效地按时间批量删除文件是一项非常实用且必要的技能。本文将详细介绍如何利用`find`命令配合其他选项来实现删除指定天数前的文件,并通过一个具体示例加以说明。 #### 一、find ...
Linux删除文件的策略并不像Windows那样有回收站,而是直接移除文件的元数据中的指针,但文件数据部分仍然保留在磁盘上,直到被其他数据覆盖。这通常不会成为问题,除非文件在删除后仍被进程持有,比如在本例中,...
本文将详细讲解"重复文件删除工具Linux32位",包括其功能、工作原理以及如何在Linux环境下操作。 重复文件删除工具,如"Duplicate-File-Eraser",是一种专门设计用于查找并删除系统中重复文件的应用程序。这些工具...
本文将详细介绍如何在Linux系统中快速有效地删除大文件、大量小文件、N天前的文件以及特定类型的文件,并提供实用的命令示例及注意事项。 #### 1. 大文件快速删除 对于大文件的删除,可以直接使用`rm`命令。例如,...