bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ls -l|head seems to look at all files in directory


From: Reuben Thomas
Subject: Re: ls -l|head seems to look at all files in directory
Date: Mon, 25 May 2009 16:53:10 +0100 (BST)
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)

On Mon, 25 May 2009, Jim Meyering wrote:

Pádraig Brady wrote:

Reuben Thomas wrote:
On Mon, 25 May 2009, Jim Meyering wrote:

To do what he wants you have to know that ls -1U is the only
way to get one output entry per readdir call.

Reuben, you want to do it like this:

 ls -1U|head|xargs ls -l

Thanks for the hint about -1, but this doesn't seem to make any
difference: I run "ls -1U|head" in a directory with lots of files (about
10,000) and it pauses for a minute or so before giving me my ten lines
of output.

If I run the command again, then of course it runs almost instantly, so
I'm not sure what use the loops are in the tests you give.

With the ls on fedora 8 (coreutils 6.9) I see all the
redundant getdents64() calls when using strace on Jim's command above.
With the latest coreutils I do not.

Right.  The change that made ls -1U more efficient was after 6.12
[v6.12-113-g8d974b0]:

Ah, I'm using 6.10. Thanks for the clarification.

--
http://rrt.sc3d.org/ | fantasize, a.  the largest you can imagine




reply via email to

[Prev in Thread] Current Thread [Next in Thread]