On 11/21/2013 12:12 AM, Bernhard Voelker wrote: > > Admittedly, compared to the academic question behind "--no-preserve-root" > (which is like "what happens to me when the globe under my feet disappears?"), > there may be more real-world reasons to remove ".". But that's not what Linda is asking for. She is not asking to pull "." out of under her feet. Instead, she wants a command that will recursively remove the children of ".", but then leave "." itself unremoved (whether by virtue of the fact that rmdir(".") must fail and so the overall rm command fails, or by explicitly skipping the attempt to rmdir(".") and letting rm succeed). Right now, the nanny rule of POSIX is preventing the recursion, so you have to use contortions such as the POSIX 'find . -depth ! -name . -exec rm {} +'. So I think it IS useful to add an option that forces 'rm -r' to bypass the nanny rule and recurse on ".". Maybe naming it --no-preserve-dot is wrong. Maybe a better name is 'rm -r --children-only .'. At which point, I would much rather see us skip the rmdir(".") in order to allow rm to succeed. And it would also work even for non-dot situations: 'rm -r --children-only dir'. In other words, I _do_ see what Linda is asking for, and think it is worth providing. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org