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: Vamp898 <vamp898 <at> ignaz.org>
Subject: bug#12664: closed (Re: bug#12664: Not possible to list
 directories recursiv (-d switch ignores -R))
Date: Wed, 17 Oct 2012 19:46:04 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#12664: Not possible to list directories recursiv (-d switch ignores -R)

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 12664 <at> debbugs.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: 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 3 (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)]
[Message part 5 (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



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

Previous Next


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