您当前的位置:首页 > 互联网教程

在Linux系统中批量删除多个文件的方法总结

发布时间:2025-05-13 15:00:26    发布人:远客网络

在Linux系统中批量删除多个文件的方法总结

一、在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等。