红联Linux门户
Linux帮助

Linux下报错“命令参数列表过长”解决

发布时间:2012-02-24 10:05:37来源:Linux社区作者:linux使用者

  Linux下报错“命令参数列表过长”,在用mv命令一次移动3万多个文件时失败了,原始命令类似这样:”mv $(ls dir1) dir2“。错误提示的中心思想是:”你这参数也太TM多了吧“。


  探索过程就省略了,直接说解决方法吧:


  ls dir1 | xargs -t -I {} mv {} dir2/{}


  这里的一对大括号是原文给的例子里用的,后来看了参数的用法,其实那对大括号是可以用任意字符串替换的,比如:


  ls dir1 | xargs -t -I asdf mv asdf dir2/asdf


  效果和大括号那一版是完全一样的,就是看起来有点儿不严肃。


  需要说明的是,上面xargs的第二个参数,是大写的i,读作”爱“的那个字母,不是小写的L。至于参数的含义嘛,我忘了。