linux命令xargs:它传递的参数的最大大小是多少?
使用--show-limits
参数。它将列出系统上现有的限制。
$ xargs --show-limits Your environment variables take up 4108 bytes POSIX upper limit on argument length (this system): 2090996 POSIX smallest allowable upper limit on argument length (all systems): 4096 Maximum length of command we could actually use: 2086888 Size of command buffer we are actually using: 131072
组大小取决于传递的每个参数的长度和上述限制。
参考xargs
手册页:
POSIX标准允许实现对exec函数的参数大小有限制。这个限制可能低至4096字节,包括环境的大小。为了使脚本可移植,它们不能依赖于更大的值。然而,我不知道有任何实现实际限制是那么小的。--show-limits选项可以用于发现当前系统上生效的实际限制。
讽刺的是,--show-limits
选项不是xargs
的POSIX标准的一部分,所以您不能依赖它。(我认为这是GNU的扩展)。