Shell

xargs 顯示限制輸出是什麼意思

  • April 29, 2016

您可以使用 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。這兩個限制是什麼意思,哪一個是我們在命令行長度上面臨的實際限制?

這就是它在錫上所說的:“我們可以實際使用的命令的最大長度”是最大可能的命令行長度,考慮到xargs執行平台的限制和環境佔用的空間。該值僅取決於平台配置和環境。“我們實際使用的命令緩衝區的大小”是此呼叫xargs正在使用的大小。它不能超過最大值,但可以小於最大值。預設情況下,xargs不使用最大值,而是在編譯時確定並受平台限制限制的“合理”預設值,通常為 128 kB。實際使用的大小可以通過-s選項進行更改。

引用自:https://unix.stackexchange.com/questions/279742