博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

Argument list too long解决办法

Posted on 2013-04-28 08:05  Bruce Zhang  阅读(3158)  评论(0编辑  收藏  举报

1. bash: /usr/bin/zip: Argument list too long

$ pwd 
/home/my/
$ ls
tobeziped
$ zip -r tobeziped.zip  ./tobeziped/*
报错:bash: /usr/bin/zip: Argument list too long,表示文件数量太多。即使换成tar也报同样的错

解决方式:find ./tobeziped/ -name '*' -print | zip tobeziped.zip -@

2. bash: /bin/rm: Argument list too long

$ cd /tmp
$ rm -fr *
bash: /bin/rm: Argument list too long

解决方式:ls | xargs -n 10 rm -fr ls
用xargs命令 删除数量比较多的文件 ls | xargs -n 10 rm -fr ls当然是输出所有的文件名(用空格分割) xargs就是将ls的输出,每10个为一组(以空格为分隔符),作为rm -rf的参数 也就是说将所有文件名10个为一组,由rm -rf删除,这样就不会超过命令行的长度了