在Linux系统中批量删除多个文件的方法总结
发布时间:2025-05-13 15:00:26 发布人:远客网络
一、在Linux系统中批量删除多个文件的方法总结
当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm-rf*就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
1. rsync安装,有些系统默认安装有该命令
复制代码代码如下:sudo yum install rsync
其他的可以源码安装,到下面的网站下载
2. rsync提供了一些跟删除有关的参数
2. rsync提供了一些跟删除有关的参数
--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接收者在传输之前进行删除操作
rsync--delete-before-d-a-H-v--progress--stats/data/blank//var/edatacache/
rsync--delete-before-d/data/blank//var/edatacache/
这样/var/edatacache目录就被快速的清空了。
这样/var/edatacache目录就被快速的清空了。
–delete-before接收者在传输之前进行删除操作
–progress在传输时显示传输过程
-a归档模式,表示以递归方式传输文件,并保持所有文件属性
-d transfer directories without recursing
如果大量小文件都集中在几个目录中,那么这个方法就有用了。
将会强制删除/var/log/httpd/access.log这个文件
-r就是向下递归,不管有多少级目录,一并删除
-f就是直接强行删除,不作任何提示的意思
提示:使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。
使用这个rm-rf删除文件的时候一定要格外小心,linux没有回收站的。
将子目录及子目录中所有档案删除
总计 24drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxr-xr-x 2 root root 4096 10-26 14:51 test1
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]# rm-r test1
rm:是否删除一般文件“test1/log3.log”? y
总计 20drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
把子目录及子目录中所有档案删除,并且不用一一确认
[root@localhost test]# rm-rf test2
总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
二、linux 删除问题 一次删除多个目录下的相同扩展名的文件
1、示例:一次性删除某目录及其子目录下所有以.exe为后缀的文件。
2、find.-name'*.exe'-type f-print-exec rm-rf{}\;
3、find:使用find命令搜索文件,使用它的-name参数指明文件后缀名。
4、.:是当前目录,因为Linux是树形目录,所以总有一个交集目录,这里根据需要设置
5、'*.exe':指明后缀名,*是通配符
6、-exec:-exec选项后边跟着一个所要执行的命令,表示将find出来的文件或目录执行该命令。
7、注意:exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。
三、linux系统常用操作命令
ls:全拼list,功能是列出目录的内容及其内容属性信息。
cd:全拼change directory,功能是从当前工作目录切换到指定的工作目录。
cp:全拼copy,其功能为复制文件或目录。
find:查找的意思,用于查找目录及目录下的文件。
mkdir:全拼make directories,其功能是创建目录。
mv:全拼move,其功能是移动或重命名文件。
pwd:全拼print working directory,其功能是显示当前工作目录的绝对路径。
rm:全拼remove,其功能是删除一个或多个文件或目录。
由于Linux的内核大部分是用 C语言编写的,并采用了可移植的Unix标准应用程序接口,所以它支持如i386、Alpha、AMD和Sparc等系统平台,以及从个人电脑到大型主机,甚至包括嵌入式系统在内的各种硬件设备。
与其他的操作系统不同的是,安装了Linux系统后,用户常用的一些办公软件、图形处理工具、多媒体播放软件和网络工具等都已无需安装。而对于程序开发人员来说,Linux更是一个很好的操作平台,在Linux的软件包中,包含了多种程序语言与开发工具,如gcc、cc、C++、Tcl/Tk、Perl、Fortran77等。