rmdir – remove empty directories

rmdir command
rmdir command

rmdir removes empty directories. Unlike rm -r, it only works on directories that contain no files.

Synopsis

rmdir [OPTIONS] DIRECTORY...

Common Options

OptionDescription
-pRemove parent directories too
-vVerbose output

Examples

Remove empty directory

$ rmdir empty_folder

Remove with parents

$ rmdir -p path/to/empty/dir
# Removes dir, then empty, then to, then path (if all empty)

Verbose

$ rmdir -v folder1 folder2
rmdir: removing directory, 'folder1'
rmdir: removing directory, 'folder2'

Error on non-empty

$ rmdir non_empty_folder
rmdir: failed to remove 'non_empty_folder': Directory not empty

rmdir vs rm -r

CommandUse Case
rmdirSafe, only removes empty directories
rm -rRemoves directory and all contents (dangerous)
# Safe - will fail if not empty
$ rmdir folder

# Dangerous - deletes everything inside
$ rm -r folder

Common Patterns

Remove if empty

$ rmdir folder 2>/dev/null || echo "Not empty"

Remove all empty directories

$ find . -type d -empty -delete

Clean up directory tree

$ rmdir -p project/old/temp/files 2>/dev/null

Tips

  • Safer than rm -r: Won’t accidentally delete files
  • Use in scripts: Good for cleanup when directories should be empty
  • Alternative: find -type d -empty -delete for bulk operations
  • Check first: ls -la to verify directory is empty

See Also

  • mkdir — Create directories
  • rm — Remove files and directories

Tutorials