GNU bug report logs - #12664
Not possible to list directories recursiv (-d switch ignores -R)

Previous Next

Package: coreutils;

Reported by: Vamp898 <vamp898 <at> ignaz.org>

Date: Wed, 17 Oct 2012 18:10:01 UTC

Severity: normal

Tags: notabug

Done: Eric Blake <eblake <at> redhat.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eric Blake <eblake <at> redhat.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#12664: closed (Not possible to list directories recursiv (-d
 switch ignores -R))
Date: Wed, 17 Oct 2012 19:46:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 17 Oct 2012 13:44:12 -0600
with message-id <507F0A8C.7060406 <at> redhat.com>
and subject line Re: bug#12664: Not possible to list directories recursiv (-d switch ignores -R)
has caused the debbugs.gnu.org bug report #12664,
regarding Not possible to list directories recursiv (-d switch ignores -R)
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
12664: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12664
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Vamp898 <vamp898 <at> ignaz.org>
To: bug-coreutils <at> gnu.org
Subject: Not possible to list directories recursiv (-d switch ignores -R)
Date: Wed, 17 Oct 2012 20:01:14 +0200
Documentation says the following:

-d, --directory :: list directory entries instead of contents, and do not 
dereference symbolic links

and

-R, --recursive :: list subdirectories recursively

And this is what i get when i use ls -dR /

$ ls -dR /
/

I even tried

ls -d --recursiv -R -R -R -RRRRRRRRRRR /
/

The -R switch stand-alone works fine

Im using the coreutils 8.19 package from Archlinux


[Message part 3 (message/rfc822, inline)]
From: Eric Blake <eblake <at> redhat.com>
To: Vamp898 <vamp898 <at> ignaz.org>
Cc: 12664-done <at> debbugs.gnu.org
Subject: Re: bug#12664: Not possible to list directories recursiv (-d switch
	ignores -R)
Date: Wed, 17 Oct 2012 13:44:12 -0600
[Message part 4 (text/plain, inline)]
tag 12664 notabug
thanks

On 10/17/2012 12:01 PM, Vamp898 wrote:
> Documentation says the following:
> 
> -d, --directory :: list directory entries instead of contents, and do not 
> dereference symbolic links
> 
> and
> 
> -R, --recursive :: list subdirectories recursively
> 
> And this is what i get when i use ls -dR /
> 
> $ ls -dR /
> /

Thanks for the report.  However, POSIX require -d to treat directories
as files rather than directories, and says that mixing -d and -R is
unspecified:

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ls.html
> -d
>     Do not follow symbolic links named as operands unless the -H or -L options are specified. Do not treat directories differently than other types of files. The use of -d with -R produces unspecified results.

In GNU, we take this to mean that -d always overrides -R, because
recursion makes sense only if you treat a directory as a directory, but
-d says to treat it as a file instead.

If you need to mix recursion with listing of directories, consider using
find(1), as in:

find . -type d

or with specific ls options:

find . -type d -exec ls -ld {} +

As such, I'm closing this as not a bug; but you are free to still add
comments or questions to this conversation.

-- 
Eric Blake   eblake <at> redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 12 years and 220 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.