On Linux, rm can delete empty directories with -d too, not just with -r.
rmdir is the counterpart to mkdir, which creates empty directories, so of course it can only remove empty directories. After all mkdir can’t create full directories either. There however is rmdir -p as a counterpart to mkdir -p, so if there is something in the directory, you can use that, as long as the something is an empty directory.
Yeah it still has a certain “AAAAH! You didn’t say simon says” feel to it when you’re actually trying to get things done. Like imagine if you had to choose a different option from a context menu to delete a folder in a GUI. If there was an option for Remove File and another one placed a little elsewhere in the menu that says Remove Directory.
I feel like the main reason the distinction exists, is because deleting a whole directory can be potentially catastrophic.
I looked at Trashy yesterday, which gives you a command trash my_file that just moves the file into the trashcan folder. Well, and that decided to make no distinction between files and directories, which does make sense to me, since you can just restore a deleted directory.
My solution: rm will remove an empty directory, while a full directory will throw either an “are you sure? y/N” or require you to use rm -r. Why have a command whose only job is to remove an empty directory?
I alias rm to rm -r for easy folder deleting
UGH that shit.
rm deletes a file. It can’t delete a directory, you have to use
rmdir to delete a directory…as long as there’s nothing in that directory. If there’s anything in the directory, you have to know to use
rm -r to delete a directory and its contents, and no
rmdir -r isn’t right somehow!
On Linux, rm can delete empty directories with -d too, not just with -r.
rmdir is the counterpart to mkdir, which creates empty directories, so of course it can only remove empty directories. After all mkdir can’t create full directories either. There however is rmdir -p as a counterpart to mkdir -p, so if there is something in the directory, you can use that, as long as the something is an empty directory.
Yeah it still has a certain “AAAAH! You didn’t say simon says” feel to it when you’re actually trying to get things done. Like imagine if you had to choose a different option from a context menu to delete a folder in a GUI. If there was an option for Remove File and another one placed a little elsewhere in the menu that says Remove Directory.
I’m still gonna call it an unsanded corner.
I feel like the main reason the distinction exists, is because deleting a whole directory can be potentially catastrophic.
I looked at Trashy yesterday, which gives you a command
trash my_filethat just moves the file into the trashcan folder. Well, and that decided to make no distinction between files and directories, which does make sense to me, since you can just restore a deleted directory.My solution: rm will remove an empty directory, while a full directory will throw either an “are you sure? y/N” or require you to use rm -r. Why have a command whose only job is to remove an empty directory?