Linux中“Argument list too long”解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中“Argument list too long”解决方法相关的知识,希望对你有一定的参考价值。

参考技术A Linux下使用 cp , mv , rm 等命令时经常会碰到“Argument list too long”错误,这主要是因为这些命令的参数太长,即文件个数过多。

“Argument list too long”这个问题的解决主要会用到两个命令, find 和 xargs 。

find test/ -name "*.jpg" 是指在 test 文件夹下查找名为 *.jpg 的文件。

xargs 命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。 -i 会将 xargs 的内容赋值给 。

-exec 参数后面是指执行其后面的命令, -exec 以 ; 为结尾,由于各个系统中分号的意义不同,因此用 \ 进行转义,即 \; , 会被 find 命令的结果替换。

linux消息队列出错argument list too long

参考技术A 它已经告诉你,是因为“参数列表太长”导致的错误。所以需要看看你的哪个参数太长,并且想办法减少参数个数。
比如一个非常非常多文件(比如有超过一百万个文件)的目录,直接用 rm -f * 时,可能就会出这个提示。那可以换一个方法,一次不给 rm 命令太多参数(这里是文件名),就可以逐一删除。一般会用以下命令逐一查找后再执行删除。
find . -name *.* -ok rm \;

以上是关于Linux中“Argument list too long”解决方法的主要内容,如果未能解决你的问题,请参考以下文章

linux消息队列出错argument list too long

Linux输出“Argument list too long”的解决方法

Linux命令rm,mv,cp报argument list too long错误

Linux命令rm,mv,cp报argument list too long错误

-bash: /bin/mv: Argument list too long

linux系统下:-bash: /bin/ls: Argument list too long问题