bug#6402: [PATCH] rm: added --directory (-d) option (original) (raw)

[Top][All Lists]


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


From: Jim Meyering
Subject: bug#6402: [PATCH] rm: added --directory (-d) option
Date: Tue, 15 Jun 2010 21:37:53 +0200

Paul Eggert wrote:

On 06/11/2010 08:13 AM, Eric Blake wrote:

> I would need to understand if there is any difference > between 'rmdir dir' (specified by POSIX) and 'rm -d dir' - if they are > no different, then how do you justify the extension?

I briefly looked at the FreeBSD source code, and there's essentially no difference. The "-d" option causes BSD "rm" to use the rmdir system call rather than the unlink system call. There is a minor difference if you use the "-P" option to shred on the file before removing it, in that "rm -dP" does not attempt to shred a directory, but that minor difference doesn't apply to coreutils where "shred" is a separate executable.

I'm dubious about this "rm -d" flag. It's clearly not portable, and (despite a search) I couldn't find any record of anybody seriously using it. On the contrary, all the uses I found of "rm -d" were errors; e.g., people incorrectly thought that "rm -dr FOO" would recursively move the directory tree rooted at FOO.

Since "rm -d" causes confusion and provides no extra utility over "rmdir" that I can see, I suggest that we instead change "rm -d" to report an error, much as "rm -X" does for other offbeat values of X.

Thanks for doing that research. I like your idea. I too would prefer to discourage the use of rm's -d option.