免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] Arg list or environment too large问题怎么解决? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-15 11:52 |只看该作者 |倒序浏览
# tar -cf data.tar * -i
UX:sh: ERROR: /usr/sbin/tar: Arg list or environment too large

上述问题怎么解决?请高人指点!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2008-02-15 13:57 |只看该作者
用这个试下
#xargs tar -cf data.tar * -i

在给你解释下xargs吧,学习一定要扎实呀
下面的这些内容是我以前的学习笔记,希望对大家有用
在使用f i n d或其它命令的- e x e c选项处理匹配到的文件时, f i n d命令将所有匹配到的文件一起传递给e x e c执行。不幸的是,有些系统对能够传递给e x e c的命令长度有限制,这样在f i n d命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是x a rg s命令的用处所在,特别是与f i n d命令一起使用。F i n d命令把匹配到的文件传递给x a rg s命令,而x a rg s命令每次只获取一部分文件而不是全部,不像- e x e c选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。在有些系统中,使用- e x e c选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用x a rg s命令则只有一个进程。另外,在使用x a rg s命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。
让我们来看看x a rg s命令是如何同f i n d命令一起使用的,并给出一些例子。
下面的例子查找系统中的每一个普通文件,然后使用x a rg s命令来测试它们分别属于哪类
文件:

下面的例子在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:
$ find . -name "core" -print | xargs echo "" >/tmp/core.log
下面的例子在/ a p p s / a u d i t目录下查找所有用户具有读、写和执行权限的文件,并收回相应的写权限:
$ find /apps/audit -perm -7 -print | xargs chmod o-w
在下面的例子中,我们用g r e p命令在所有的普通文件中搜索d e v i c e这个词:
$ find / -type f -print | xargs grep "device"
在下面的例子中,我们用g r e p命令在当前目录下的所有普通文件中搜索D B O这个词:
$ find . -name *\-type f -print | xargs grep "DBO"
注意,在上面的例子中, \用来取消f i n d命令中的*在s h e l l中的特殊含义。

论坛徽章:
0
3 [报告]
发表于 2008-02-27 16:20 |只看该作者
原帖由 answer 于 2008-2-15 13:57 发表
用这个试下
#xargs tar -cf data.tar * -i

在给你解释下xargs吧,学习一定要扎实呀
下面的这些内容是我以前的学习笔记,希望对大家有用
在使用f i n d或其它命令的- e x e c选项处理匹配到的文件时, f i ...


----------------------------------------
还是一样的不行啊:
# cd /u/htl/data
# xargs tar -cf ../data.tar * -i
UX:sh: ERROR: /usr/bin/xargs: Arg list or environment too large
# pwd
/u/htl/data
#


(OS版本:SCO UnixWare 7.1.3)

[ 本帖最后由 hzs1997 于 2008-2-27 17:25 编辑 ]

6666.JPG (20.44 KB, 下载次数: 40)

6666.JPG

论坛徽章:
1
15-16赛季CBA联赛之北控
日期:2022-03-04 22:35:50
4 [报告]
发表于 2008-02-27 22:49 |只看该作者
可能目录下文件太多

论坛徽章:
0
5 [报告]
发表于 2008-02-28 18:23 |只看该作者
原帖由 sdccf 于 2008-2-27 22:49 发表
可能目录下文件太多



我就是想解决这个问题!当(tar,mv,rm...)参数列表太大时应该怎么办?菜鸟恳请高人指点。

论坛徽章:
0
6 [报告]
发表于 2008-03-04 12:04 |只看该作者
原帖由 hzs1997 于 2008-2-15 11:52 发表
# tar -cf data.tar * -i
UX:sh: ERROR: /usr/sbin/tar: Arg list or environment too large

上述问题怎么解决?请高人指点!


有没有人知道的?请出来讲一下啦,拜托了。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2008-03-04 13:31 |只看该作者
确实很麻烦,建议你分段备份吧

看了很多资料,如果连xargs都搞不定
还是修改备份方式,分段备份吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP