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
최대값은 사용되지 않지만 대신"합리적인" 기본값컴파일 시간에 결정되며 플랫폼 제한(일반적으로 128kB)에 따라 제한됩니다. 사용되는 실제 크기는 옵션을 통해 변경할 수 있습니다 -s
.