/tmp |-->bar.txt |-->dir1/ |-->dir2/ | |-->baz.txt |-->dir3/ |-->foo.txtThere are two files called
bar.txt
and foo.txt
, a non-empty directory called dir2
and two empty directories called dir1
and dir3
.
This is how you can delete only the empty directories:
sharfah@starship:/tmp> unalias rmdir sharfah@starship:/tmp> rmdir * rmdir: directory "bar.txt": Path component not a directory rmdir: directory "dir2": Directory not empty rmdir: directory "foo.txt": Path component not a directoryYou need to unalias
rmdir
just in case you have it aliased to "rm -rf
"!
You will notice that rmdir
does not delete files or non-empty directories. Only dir1
and dir3
are deleted.
Another way to do it, using find
:
sharfah@starship:/tmp> find . -type d -exec rmdir {} \; rmdir: directory ".": Can't remove current directory or .. rmdir: directory "./dir2": Directory not emptyNote that aliases aren't recognised by
find
, so even if you did have rmdir
aliased, it would not use it.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.