Delete / Remove a Directory Linux Command

I am a new Linux user. How do I delete or remove a directory using command line option?

Everything is a file in Linux including the directory. A directory is nothing but a group of files. You can use the following commands to delete the directory in Linux (also known as a folder in the Macintosh OS X and Microsoft Windows operating system):
1. rmdir command – Deletes the specified empty directories.
2. rm command – Delete the file including sub-directories. You can delete non-empty directories with rmdir command.

rmdir command syntax to delete directory in Linux

The rmdir command remove the DIRECTORY(ies), if they are empty. The syntax is:
rmdir directory-name
rmdir [option] directory-name

Open the terminal application and run command to delete given directory.

Delete Directory Linux Command

Open a command line terminal (select Applications > Accessories > Terminal), and then type the following command to remove a directory called /tmp/docs:
rmdir /tmp/docs
If a directory is not empty you will get an error message that read as follows::
rmdir letters
Sample outputs:

rmdir: letters: Directory not empty

You can cd to the directory to find out files:
$ cd letters
$ ls

In this example, remove data, foo and bar if bar were empty, foo only contained bar and data only contained foo directories:
cd /home/nixcraft
rmdir -p data/foo/bar


  1. -p – Each directory argument is treated as a pathname of which all components will be removed, if they are empty, starting with the last most component.

How to see a diagnostic message for every directory processed

Pass the -v option to the rmdir command:
$ rmdir -v dir1

Linux remove entire directory including all files and sub-directories command

To remove all directories and subdirectories use rm command. For example remove *.doc files and all subdirectories and files inside letters directory, type the following command (warning all files including subdirectories will be deleted permanently):
$ rm -rf letters/
Sample session:


  1. -r : Attempt to remove the file hierarchy rooted in each file argument i.e. recursively remove subdirectories and files from the specified directory.
  2. -f : Attempt to remove the files without prompting for confirmation, regardless of the file’s permissions
See also
  • For more information read man pages: rm(1)

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.