xargs show limit 输出是什么意思

xargs show limit 输出是什么意思

您可以使用 xargs 来发现有关您正在使用的命令行的限制:

$ xargs --show-limits
Your environment variables take up 1901 bytes
POSIX upper limit on argument length (this system): 2093203
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2091302
Size of command buffer we are actually using: 131072

但是,我不明白Maximum length of command we could actually use和之间的区别Size of command buffer we are actually using。这两个限制是什么意思,哪一个是我们在命令行长度上面临的实际限制?

答案1

这就是罐头上所说的:“我们实际可以使用的最大命令长度”是考虑到xargs运行平台的限制以及环境占用的空间的最大可能的命令行长度。该值仅取决于平台配置和环境。 “我们实际使用的命令缓冲区的大小”是本次调用xargs正在使用的大小。它不能大于最大值,但可以小于最大值。默认情况下,xargs不使用最大值,而是使用“合理”默认在编译时确定并受平台限制(通常为 128 kB)限制。实际使用的尺寸可以通过选项进行更改-s

相关内容