rmdir - Linux


The rmdir command in Linux is used to remove empty directories. It is a straightforward utility essential for managing filesystems, helping users maintain organizational structure by deleting unneeded directories that are devoid of files.


The basic syntax of the rmdir command is as follows:

rmdir [options] DIRECTORY...

Where DIRECTORY specifies the path(s) to the directory or directories to be removed. Multiple directories can be specified, separated by spaces.


  • -p, --parents: Remove DIRECTORY and its ancestors. For example, rmdir -p a/b/c will try to remove c, b, and a.
  • --ignore-fail-on-non-empty: Ignore each failure that is solely because the directory is non-empty.
  • -v, --verbose: Output a diagnostic for every directory processed.
  • --help: Display a help message and exit.
  • --version: Output version information and exit.

These options allow for flexibility in managing directories, from handling nested directories with -p to adjusting output verbosity with -v.


  1. Removing a Single Empty Directory:

    rmdir documents/old_reports

    Removes the old_reports directory under documents if it is empty.

  2. Removing Multiple Directories:

    rmdir dir1 dir2 dir3

    Attempts to remove dir1, dir2, and dir3 simultaneously.

  3. Removing Nested Directories:

    rmdir -p project/subdir/logs

    Here, rmdir removes logs, then subdir, and lastly project if all are empty.

  4. Verbose Mode:

    rmdir -v emptyfolder

    Outputs a message indicating the removal of emptyfolder.

Common Issues

  • Directory Not Empty: The most common error is attempting to remove a directory that contains files or other directories. rmdir will fail since it can only remove empty directories.
    Solution: Ensure the directory is empty or use rm -r to remove non-empty directories along with their contents.

  • Permission Denied: Users may encounter a permission issue if they do not have the necessary rights to remove a directory.
    Solution: Check your user permissions for the directory or use sudo if appropriate.

  • No Such Directory: Specifying a non-existent directory will lead to this error.
    Solution: Check the directory path for typos or moved/renamed directories.


rmdir can be combined with find for removing multiple empty directories in a directory tree:

find . -type d -empty -exec rmdir {} +

This command finds all empty directories within the current directory and its subdirectories, passing them to rmdir for removal.

  • rm: Remove files or directories (including non-empty directories).
  • mkdir: Create new directories.
  • ls: List directory contents, useful to verify contents before using rmdir.

For more detailed information, refer to the official documentation or man pages (man rmdir).