Re: File Limit in Kernel?

Andreas Schwab (schwab@suse.de)
Wed, 13 Nov 2002 11:49:13 +0100


Jan Hudec <bulb@ucw.cz> writes:

|> On Tue, Nov 12, 2002 at 04:57:20PM +0100, Andreas Gruenbacher wrote:
|> > On Tuesday 12 November 2002 16:38, Adam Voigt wrote:
|> > > I have a directory with 39,000 files in it, and I'm trying to use the cp
|> > > command to copy them into another directory, and neither the cp or the
|> > > mv command will work, they both same "argument list too long" when I
|> > > use:
|> > >
|> > > cp -f * /usr/local/www/images
|> > >
|> > > or
|> > >
|> > > mv -f * /usr/local/www/images
|> >
|> > Note that this is not a kernel related question.

Actually it is, because it's a kernel limit. Userspace does not have
this problem in general.

|> > expanded into a list of all entries in the current directory, which results
|> > in a command line longer than allowed. Try this instead:
|> >
|> > find -maxdepth 1 -print0 | \
|> > xargs -0 --replace=% cp -f % /usr/local/www/images
|>
|> Find has an -exec operator in the first place, so this is a little:
|>
|> find -maxdepth 1 -exec cp -f '{}' /usr/local/www/images ';'

Or even using the shell:

for f in *; do cp -f "$f" /usr/local/www/image; done

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/