免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9819 | 回复: 10
打印 上一主题 下一主题

linux系统下如何删除一个目录下的大量文件 [复制链接]

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-04 15:35 |只看该作者 |倒序浏览
同一级目录存在太多的文件都是一件可怕的事情,不管是读取还是删除的时候。
一旦这种不幸的事情发生在你身上,而又不能完全把整个目录删掉怎么办呢?
你可以用 rm -f *.log 但是你马上就会收到一个出错信息:参数列表太长
只能部分部分的删,如:
rm -f a*.log
rm -f b*.log
.................

非常费劲
其实可以利用xargs这个参数来完成:
ls *.log | xargs rm -f

这样就能一次删除了。


xargs的功能大家可以自己去看一下,还是比较有趣的

论坛徽章:
0
2 [报告]
发表于 2008-06-04 15:59 |只看该作者

回复 #1 cuci 的帖子

那删除一个文件里有大量文件时不是用  rm -fr(或rf) 名字

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
3 [报告]
发表于 2008-06-04 16:05 |只看该作者
原帖由 wazyysys 于 2008-6-4 15:59 发表
那删除一个文件里有大量文件时不是用  rm -fr(或rf) 名字



恩,我用上面的例子就是为了让大家去研究下xargs这个参数:wink:

论坛徽章:
0
4 [报告]
发表于 2008-06-04 16:32 |只看该作者
rm -f *.log  呢?

论坛徽章:
0
5 [报告]
发表于 2008-06-04 16:50 |只看该作者
xargs,记得以前看鸟哥的私房菜里提到过,因为很少用到,差点都忘了。。。

论坛徽章:
0
6 [报告]
发表于 2008-06-04 17:02 |只看该作者
find ./ -name '*.log' -exec rm {} \;

论坛徽章:
0
7 [报告]
发表于 2008-06-04 23:02 |只看该作者
xargs用来回避对命令行长度的限制.他通过使用一个参数多次调用一个命令来实现,而不是一次使用多个参数.举个例子,你可以用xargs执行:
ls a1
ls a2
ls a3
而不是执行ls a1 a2 a3
当执行一个有很多很多个文件名的命令时,就可以明白这个命令对shell来说太长了.我记得UNIX最多能处理20000字符数的命令行长度,但现在是不是,我就不知道了.

做个测试,生成d文件
其中d文件含有内容:
a
b
c
执行:cat d | xargs --verbose
显示
/bin/echo a b c        #--------->执行命令
a b c                  #--------->实际的显示

执行cat d | xargs --verbose --max-args=1
显示:
/bin/echo a
a
/bin/echo b
b
/bin/echo c
c

[ 本帖最后由 sdu_lizhipeng 于 2008-6-5 12:55 编辑 ]

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
8 [报告]
发表于 2008-06-05 09:12 |只看该作者
LS讲的很通俗易懂,大家多多看看吧,这个参数经常会在危难的时候帮助你

论坛徽章:
0
9 [报告]
发表于 2008-06-05 09:29 |只看该作者
原帖由 drunkedcat 于 2008-6-4 17:02 发表
find ./ -name '*.log' -exec rm {} \;

非常好!

论坛徽章:
0
10 [报告]
发表于 2008-06-05 09:33 |只看该作者
find ./ -name '*.log' -exec rm {} \;
这个命令在删除过多文件时,容易产生错误
建议用
find ./ -name '*.log' | xargs rm -f
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP