Home > File & Directory Management > rmdir

rmdir Command Guide: Deleting Empty Directories

`rmdir` command (remove directory) is used in Linux and Unix-like operating systems to delete **only empty directories**. If there are files or other subdirectories within the directory, `rmdir` will produce an error and will not delete it. Through this guide, you will understand the basic usage of `rmdir`, its limitations, and when to use this command.

Overview of rmdir

`rmdir` command is used to remove empty directories located in the current directory or specified path. It is useful for cleaning up the file system and removing unnecessary empty folders. However, if the directory is not empty, you should use `rm -r` (forced deletion) instead of `rmdir`.

Main Functions of rmdir

`rmdir` command is primarily used for the following purposes:

Key Use Cases

  • Cleaning Empty Directories: Removes empty folders that are no longer needed or completed projects to keep the file system clean.
  • Automated Scripts: Used to clean up empty temporary directories created under specific conditions (e.g., after all log files have been processed).

`rmdir` vs `rm -r`

`rmdir` and `rm -r` are used to delete directories, but there are important differences.

Command Comparison

  • `rmdir`: Deletes **only empty directories**. If the directory is not empty, an error occurs. It is used safely to remove only empty directories.
  • `rm -r` (or `rm -rf`): Recursively deletes **all contents** even if there are files or subdirectories within the directory. It is a very powerful command, so extreme caution is needed to avoid accidentally deleting important data.

Key rmdir Command Options

`rmdir` command provides useful options for also deleting the parent directory if it is empty.

1. Basic Deletion Options

2. Information Output Options

Generated command:

Try combining the commands.

Description:

`rmdir` Executes the command.

Combine the above options to virtually execute commands with AI.

Usage Examples

Learn how to safely and efficiently delete empty directories through various usage examples of the `rmdir` command.

Delete Empty Folder in Current Directory

mkdir empty_log_dir
rmdir empty_log_dir

Deletes an empty folder named `empty_log_dir` in the current directory.

Attempt to Delete Non-Empty Directory

mkdir non_empty_dir
touch non_empty_dir/test.txt
rmdir non_empty_dir

If there are files in `non_empty_dir`, `rmdir` will output an error message and will not delete the directory.

Delete Nested Empty Directories at Once

mkdir -p parent_dir/child_dir/grandchild_dir
rmdir -p parent_dir/child_dir/grandchild_dir

In an empty directory structure named `parent_dir/child_dir/grandchild_dir`, after deleting `grandchild_dir`, it will also delete `child_dir` and `parent_dir` if they are empty.

Check Detailed Directory Deletion Process

mkdir -p temp_data/sub1/sub2
rmdir -pv temp_data/sub1/sub2

Checks the process of deleting `temp_data` directory and its parent directories with detailed messages.

Find and Delete Empty Directories with `find` and `rmdir`

find . -type d -empty -delete

You can use the `find` command in combination to find and delete all empty directories across the system or a specific path. This command recursively searches from the current directory (`.`) to find and delete empty directories. **Warning: Use with caution.**


Same category commands