Got too much clutter to clear on your system? It is hard and time-consuming to search for empty directories and delete them one by one. But, Using some commands, You can delete all the empty directories at once. In this article, We will discuss commands like rmdir, rm and find commands in detail.
When deleting directories using the command line, they are deleted permanently i.e. they are not moved to trash. rmdir and rm commands can only be used to manually delete one or multiple directories at a time. The find command is used to search all the empty directories and delete them all using a single command.
Using rmdir command
rmdir command is used to delete empty directories. It only deletes the empty directories, so, if the directory is not empty it will show an error. You don’t need to check for empty directories while using this command, To use rmdir command, Let’s take an example, we have a directory named test-directory which is not empty:
If the directory is empty:
If you want to delete all empty directories all at once, rmdir command cannot be used. To know more about the rmdir command, Run
Using rm command
Unlike rmdir command, rm command is used to delete both files and directories whether empty or non-empty. When using rm command without any parameters, it will not delete directories:
use -d with the above command to remove empty directories:
rm -d test-directory
To remove directories along with their contents, use -r or -R or –recursive. Run the following command:
rm -rf test-directory
There are other parameters like -f to never prompt, -i to prompt before every removal. Run
man rm or click here to know more about the rm command.
Using the find command
The find command is used to search for files and directories. Using find command along with some parameters, We can search all the empty directories in the system and delete them at once.
find </path> -type d -empty
- </path> :- path of the directory to search
- -type d :- limits the search only to directories ( you can also use -type f to search for files.
- -empty :- limits the search only to empty directories
find /sid/Documents -type d -empty
Use -delete with the above command to delete all the empty directories in the specified location. -name ‘*.extension’ to search and delete files or directories ending with the specified extension.
find /sid/documents -type d -empty -delete
There are several parameters used to search for files or directories as per our requirements. Run
man find or click here to open the find manpage.
So, We discussed how to find and delete empty directories using three different commands. These are easy commands to try, even for beginners. Thank you for reading!