导航:首页 > 文件教程 > 批量删除文件linux

批量删除文件linux

发布时间:2025-04-08 06:30:42

『壹』 linux怎么将一个目录下除了某个文件外的文件都删除

在Linux系统中,如果需要删除目录下除了某个文件外的所有文件,可以采用extglob模式。首先,使用以下命令打开extglob模式:shopt -s extglob。接着,使用rm命令加上-f选项和extglob模式中的特殊语法来实现删除操作,如:rm -fr !(file1),这里的file1就是你希望保留的文件名。

如果需要排除的文件不止一个,可以使用管道符号来分隔这些文件名,例如:rm -rf !(file1|file2),这样可以同时排除file1和file2两个文件,而这两个文件之外的其他文件都将被删除。

需要注意的是,使用rm命令时务必谨慎,因为该命令会永久删除文件,且不会进行恢复。在执行删除操作前,最好先通过ls命令查看目标目录下的文件,确保不会误删重要文件。

此外,为了避免出现意外删除,建议在执行删除命令时加上-i选项,这样在删除每个文件前都会得到确认提示,可以手动选择是否删除。

总之,利用extglob模式可以方便地在Linux系统中实现对目录下特定文件的批量删除操作,但使用时一定要注意安全,避免误删重要文件。

使用rm命令时,务必确保其正确性和安全性,避免对系统造成不可逆的影响。

『贰』 linux下使用通配符批量删除文件

一、cd命令进入这个linux文件夹目录。
二、打:
find . -type f -name *.log -mtime +x -exec rm -fv { } \;

命令作用:在当前目录下查找x天前的后缀专为log的文属件并且删除。
例:
find . -type f -name *.log -mtime +300 -exec rm -fv { } \;
查找300天前的后缀名为log的文件并且删除。

命令详细解释:
. 在当前目录下查找,如果要全盘查找的话,可以把.换成/,这样前面的cd命令就不需要了。
-type f 查找的是普通文件,而不是文件夹
-name *.log 查找后缀为log的文件
-mtime +x 查找x天以前的文件,所以需要把这个x换成你自己需要查找的天数,比如30.你要删除20090808以前的,就需要计算一下,它距离现在多少天。

-exec rm -fv { } \; 把查找的文件强制删除

如果权限不足,请以root身份运行命令。
如果是ubuntu,前面可以加sudo即可。

『叁』 Linux中快速删除文件的方法linux删除操作

Linux是一种极其受欢迎的开源操作系统,可以运行在各种平台上,其中包括桌面电脑、服务器和嵌入式设备。当您安装linux系统时,很可能您会使用它来删除文件。Linux系统中有两种快速删除文件的方法:rm和trash-cli。
一、rm命令
rm命令是最常用的Linux删除文件的方法之一。它可以用于删除文件和目录,其格式为:
rm [option] [file]
常用的参数时-r和-f,当您指定-r参数时,它可以递归到所有子目录来删除所有文件,-f参数用于强制删除文件,忽略任何提示信息。如果要删除当前目录中所有文件,则可以执行如下命令:
rm -rf *
二、trash-cli 命令
trash-cli是一个开源的linux删除文件的命令行工具,由于它支持在删除之前提示用户,如果用户不需要删除文件,可以取消此操作,因此更安全。以下是trash-cli的格式:
trash-put [option] [file]
此外,可以使用xargs和find结合trash-cli来批量删除文件,其格式为:
find ./ -name “*.txt” | xargs trash-put
这句话可以用于删除所有以txt为扩展名的文件。您也可以使用-v参数来列出执行的过程,使用-i参数来显示每一步的提示信息,使用-e参数来忽略已存在的文件,等等。
上面就是Linux中快速删除文件的几种方法。rm命令是最常用的,但也容易引起数据丢失,而trash-cli的警告功能可以减少数据丢失的可能性。我们应该根据自己的需求,充分考虑后再决定选择哪种方法。

『肆』 linux 批量删除文件

首先建立50万个文件

复制代码代码如下:

test for i in $(seq 1 500000)
for> do
for> echo test >>$i.txt
for> done

1 rm

复制代码代码如下:

test time rm -f *
zsh: sure you want to delete all the files in /home/hungerr/test [yn]? y
zsh: argument list too long: rm
rm -f * 3.63s user 0.29s system 98% cpu 3.985 total

由于文件数量过多,rm不起作用。
2 find

复制代码代码如下:

test time find ./ -type f -exec rm {} \;
find ./ -type f -exec rm {} \; 49.86s user 1032.13s system 41% cpu 43:19.17 total

大概43分钟。

3 find with delete

复制代码代码如下:

test time find ./ -type f -delete
find ./ -type f -delete 0.43s user 11.21s system 2% cpu 9:13.38 total

用时9分钟。

4 rsync
首先建立空文件夹blanktest

复制代码代码如下:

~ time rsync -a --delete blanktest/ test/
rsync -a --delete blanktest/ test/ 0.59s user 7.86s system 51% cpu 16.418 total

16s,很好很强大。

5 Python

复制代码代码如下:

import os
import time
stime=time.time()
for pathname,dirnames,filenames in os.walk('/home/username/test'):
for filename in filenames:
file=os.path.join(pathname,filename)
os.remove(file)
ftime=time.time()
print ftime-stime

复制代码代码如下:

~ python test.py
494.272291183

大概用时8分钟。
6 Perl

复制代码代码如下:

test time perl -e 'for(<*>){((stat)[9]<(unlink))}'
perl -e 'for(<*>){((stat)[9]<(unlink))}' 1.28s user 7.23s system 50% cpu 16.784 total

阅读全文

与批量删除文件linux相关的资料

热点内容
英国上什么网站 浏览:207
如何用html5开发app 浏览:420
dnf86版本红眼装备选择 浏览:71
为什么找不到固态硬盘引导文件 浏览:922
逆向工具jeb 浏览:702
python文件路径存在 浏览:778
为什么发的作品没有数据分析 浏览:445
电脑压缩文件怎么发送到微信好友 浏览:351
网络通信包括什么 浏览:71
网站后台插入程序代码用什么用 浏览:414
苹果5s时间自动设置 浏览:911
脉冲焊接应该选用哪个特性数据 浏览:115
java正则表达式如何匹配每个数 浏览:558
word文档如何对齐文字 浏览:285
冒险岛代码查询网站 浏览:601
行程大数据掌握哪些信息 浏览:741
photoshop调色技巧教程 浏览:52
手机中怎么把文件移到桌面 浏览:740
专线网络配置 浏览:78
刷口罩app哪个好 浏览:925

友情链接