Esta mensagem não é de ls
, mas de exec
. você pode ver o tamanho máximo da lista de argumentos executando getconf ARG_MAX
.
Não são quantos arquivos podem ser manipulados pelo aplicativo, mas o tamanho dos argumentos que podem ser passados usando exec
para o sistema operacional, que retorna E2BIG
se o tamanho dos argumentos estiver além do aceitável intervalo.
Esse limite era tradicionalmente (até o Linux 2.6.23) conferido usando o kernel define ARG_MAX
, encontrado em sys/linux/limits.h
. No entanto, hoje em dia isso é específico para o ambiente que você está executando. Normalmente, o tamanho máximo dos argumentos agora pode ser tão grande quanto um quarto do tamanho da pilha do espaço do usuário.