"rm -rf ./foo/" safe to use?

Igor Peshansky pechtcha@cs.nyu.edu
Mon May 1 21:27:00 GMT 2006


On Wed, 26 Apr 2006, Tom Rodman wrote:

> Rightly or wrongly over the years I've refrained from using
> cygwin to delete large directories; instead, from bash I'll cd
> to the parent dir, and run:
>
>   cmd /c rmdir /s /q MYDIR2DELETE
>
> I think I had read something years back about cygwin's inode
> simulation (sorry to munge up the terminology), being imperfect;
> so that may have convinced me to not use "rm -rf DIRXXX".
>
> So is "rm -rf ./foo/" safe to use?  Is there any danger that
> anything other than ./foo/ will be deleted?
>
> Thanks for any help, I'm mainly just curious.  :->

IIRC, there was one situation in which "rm -rf" ended up removing
something other than the specified directory: if there were a mount that
was stale (i.e., pointed to something no longer present), and you tried to
remove the mount point directory, rm would happily start removing the
root.  However, I haven't tried this after the change that made mount
points appear in readdir(), so this may no longer be the case.  For those
brave enough to try it:

cd /
mkdir BLAH
mount c:\NonExistentDir /BLAH
rm -rf /BLAH

I'd be really interested in knowing whether this is still a problem.
Disclaimer -- this used to remove the whole c:\cygwin subtree.  You have
been warned.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_	    pechtcha@cs.nyu.edu | igor@watson.ibm.com
ZZZzz /,`.-'`'    -.  ;-;;,_		Igor Peshansky, Ph.D. (name changed!)
     |,4-  ) )-,_. ,\ (  `'-'		old name: Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list