Shell
xargs 顯示限制輸出是什麼意思
您可以使用 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
選項進行更改。