Subject: Re: bug#7036: ls, mv, etc on LINUX
From: Bob Proulx <[email-masked]>
To: Elisabet Wahlgren <[email-masked]>
Cc: [email-masked]
Date: Wed, 15 Sep 2010 10:48:30 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

Elisabet Wahlgren wrote:
> Greatly surprised (and not very happy) that my attempts to list or
> move files satisfying a file name pattern (like ls *.tgz for
> example) fail miserably on my linux machine, when the number of
> files satisfying the pattern is large. Error message example:
> "/bin/mv: Argument list too long". Is this a bug or a feature, would
> you know?

This is a long standing kernel limitation.  Because file glob
expansion occurs by the shell before program invocation this doesn't
have anything to do with any program.  The shell is running out of
space while trying to set up the command environment.

See this reference for all of the details:

  http://www.gnu.org/software/coreutils/faq/#Argument-list-too-long

> I used to work with a Unix version (Solaris) quite a number of years
> (decades) and cannot remember having seen this limitation before.

It has been around forever in traditional Unix kernels.  Note that a
recent change has enhanced the Linux kernel to avoid this limitation.

Bob