免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] rm * 报错,可能该目录下文件数太多,无法全部删除 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-17 15:29 |只看该作者 |倒序浏览
root用户下rm * 报错,可能该目录下文件数太多,无法全部删除。

那么该如何删除该目录下所有文件呢?(该目录下文件数目特别多)

[ 本帖最后由 CNL 于 2006-1-17 18:14 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-01-17 15:39 |只看该作者

回复 1楼 马鞍山储蓄 的帖子

不是文件太多,而是有-r*文件 或 文件名带控制符的文件!

论坛徽章:
0
3 [报告]
发表于 2006-01-17 15:40 |只看该作者
find . -print|xargs rm

评分

参与人数 1可用积分 +2 收起 理由
CNL + 2

查看全部评分

论坛徽章:
0
4 [报告]
发表于 2006-01-17 16:22 |只看该作者
到上级目录 rm -R 目录名
mkdir 目录名

论坛徽章:
0
5 [报告]
发表于 2006-01-17 16:23 |只看该作者
该目前下只有文件,没有子目录,不需要带 -r 参数。

find . -print|xargs rm
中xargs是什么意思

评分

参与人数 1可用积分 +5 收起 理由
CNL + 5

查看全部评分

论坛徽章:
0
6 [报告]
发表于 2006-01-17 16:27 |只看该作者
xargs从输入管道中取出数据把它作为后面命令的参数
man xargs

论坛徽章:
0
7 [报告]
发表于 2006-01-17 16:29 |只看该作者
rm -r * 命令试过,不行。

论坛徽章:
0
8 [报告]
发表于 2006-01-17 16:33 |只看该作者
*在sh里面会自动替换为实际的文件名
比如你目录下有a.tmp, b.tmp,
执行rm *实际是替换为rm a.tmp b.tmp后再执行
如果目录下文件很多,
那么替换后的长度将因为超过系统默认的命令缓冲区最大长度导致错误

论坛徽章:
0
9 [报告]
发表于 2006-01-17 16:42 |只看该作者

试试这个

类似3楼的办法可能太慢了,对有上百万个文件的目录根本不行

建议如下:
ls  >/tmp/rmfile.sh
cd /tmp
vi rmfile.sh
:g/^/s//rm /g
ZZ
chmod 755 rmfile
./rmfile
这个方法是在维护使用5年的分行报表服务器path1时总结出来的

下载为本人开发的  ATRTRANS 2.0  专用于农行ABIS 批量转账文本接口 UNIX 多用户版
网站:
http://atrtrans.ik8.com/
下载地址:
http://atrtrans.ik8.com/IK8UploadFile/200601120551335.rar
http://atrtrans.ik8.com/IK8UploadFile/atrtrans.rar

论坛徽章:
0
10 [报告]
发表于 2006-01-17 16:49 |只看该作者
ls  >/tmp/rmfile.sh

如果有上百万个文件,执行完ls这步操作你估计要等上N倍的find时间,更不要说vi了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP