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

linux 删除问题 一次删除多个目录下的相同扩展名的文件

发布时间:2025-05-17 22:16:22    发布人:远客网络

linux 删除问题 一次删除多个目录下的相同扩展名的文件

一、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选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。

二、rm-rf命令删除多个文件

答,linux中rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

-i删除的时候会提示是否确认删除,一次删除多个文件则每一个文件都会提醒

-I一次删除多个文件(大于三个),提示消息只提示一次

-d用于删除空目录,如果目录不为空,则无法删除

-f强制删除,不弹出任何提示,慎用

1.删除当前目录下除隐含文件外的所有文件和子目录

rm-r*//这样删除数据做是非常危险的

rm: remove regular file `test.trc'? y//输入y删除文件 n不删除文件

3.递归删除某个目录下文件以及子目录

rm-rf tomcat///删除tomcat下所有的文件及子目录

4.删除当前目录下的所有trc文件类型的文件

5.删除当前目录下所有.bin目录,删除前逐一询问确认

Linux系统没有回收站,rm删除就永远找不到了,删除的时候,最好用绝对路径,比较保险。

三、Linux下怎么删除某文件外的所有文件

一、Linux下删除文件和文件夹常用命令如下:

需要注意的是, rmdir只能够删除空文件夹。

二、删除制定文件(夹)之外的所有文件呢?

复制需要保留的文件到其他文件夹,然后将该目录删除,然后将需要保留的移动回来。

mv keep。。/#保留文件(夹) keep

rm-rf*#删除当前文件夹里的所有文件

mv。。/keep。/#将原来的东西移动回来

2、方法2,需要在当前文件夹中进行:

rm-rf!(keep)#删除keep文件之外的所有文件

rm-rf!(keep1| keep2)#删除keep1和keep2文件之外的所有文件

3、方法3,当前文件夹中结合使用grep和xargs来处理文件名:

ls| grep-v keep| xargs rm#删除keep文件之外的所有文件

说明: ls先得到当前的所有文件和文件夹的名字, grep-v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从标准输入获得参数并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件。

好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。

4、方法4,使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:

find。/test/| grep-v keep| xargs rm#删除当前test文件夹中keep文件之外的所有文件

说明,用grep而不用find-name选取名字,因为find选取名字时比较麻烦,对正则表达式支持不够,无法排除指定文件名。

5、方法5,直接使用find命令删除其他文件:

find。/-name‘[^k][^e][^e][^p]*’-exec rm-rf{}\;#删除keep以外的其他文件。

find。/-name‘[^k][^e][^e][^p]*’| xargs rm-rf#删除keep以外的其他文件。推荐!

说明:上面第二行的代码效率高些,原因在于删除多个文件时-exec会启动多个进程来处理,而xargs会启动一个rm进程来处理。