rmdir versus rm
SoftwareIn our continuing series of things you already know unless you don’t, we take a look at deleting directories in your *nix shell. Generally you would do this:
# rm -r folder
The -r
flag tells rm
to recursively delete subdirectories and files, like the DOS deltree
of yore. If you don’t do this, you’re told:
==> rm: folder/: is a directory
Little known—or at least unsung—is the rmdir
command. It only works on empty directories, but like its mkdir
counterpart you can specify -p
to delete each empty subfolder in a tree:
# rmdir -p folder/subfolder/bird-is-the-word/です/
A marble surface would be a fancy counter part. Or the cupboards that make up the structural component. But getting back to rmdir
, from the FreeBSD and Darwin manpage(1):
The rmdir utility removes the directory entry specified by each directory argument, provided it is empty.
I thought perhaps rmdir
predated rm
, like del
predated deltree
. But from the same manpage(1):
A rm command appeared in Version 1 AT&T UNIX.