Linux Delete Directory With rmdir Command

last updated in Categories , , , , , , , , , , , ,

I‘m new to Linux and I’d like to know how to delete directory under any Linux distributions?

You need to use the command called rmdir. It remove empty directories.


rmdir command syntax

rmdir [OPTION] {directory-name}

Delete / remove directory

To delete directory called foo, enter:
rmdir foo

Remove DIRECTORY and its ancestors

For example remove directory structure sales/99/march
rmdir -p sales/99/march

Recursive delete

Remove all directories and subdirectories, use rm command with -r option:
rm -rf /home/data/2000

Please note that rmdir command works with all Linux and Unix like operating systems. For more information read rm and rmdir command man pages:
man rm
man rmdir

Posted by: Vivek Gite

The author is the creator of nixCraft 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.


17 comment

  1. Warning!
    rm -rf /home/data/2000
    removes all directories AND files recursively. Option -f means force i.e. to do it without prompting.

  2. rm [options] files | directories

    The rm (remove) command can delete files:

    $ rm file1 file2 file3

    or recursively delete directories:

    $ rm -r dir1 dir2 dir3

    Some Useful Options:

    -f “Forces the deletion ignoring any errors or warnings.
    -i “Asks before deleting each file”
    -r recursively removes a dir(s) and it’s content(s). Use with extreme caution, especially if combining it with the -f option!

    You can also use the rmdir command:

    The rmdir (remove directory) command deletes one or more empty directories you name.

    To delete an entire directory path (Use with extreme caution!) use the -p option along with the directory path (not just the directory name):
    rmdir -p dir1/dir2/dir3

    The above example would delete not just dir3, but dir1 & dir2 as well!

    This will delete dir1,dir2 & dir3!

  3. What a wanker! You instruct people to delete the entire file path without warning them? Nice try sir. I wonder how many systems you helped break.

    1. I rm -rf all the time O.o
      Sure, I know people who have lost work to it, but it’s so inefficient to go through potentially a lot of prompts…

    2. Think common sense comes into play if your not sure how a command works do not use it until you are sure…i wouldn’t fly a plane on instructions given to me by someone i don’t know….would you?

    1. Generally speaking (depending on what shell you’re in – BSH, CSH & BASH should be fine), a “\” is an escape character, which means it transforms special characters (“\” included) into string literals. So running “rm -rf ./\\” would recursively delete a directory in the current directory by the name of “\”. Hope this helped.

  4. I wanted to copy all files from one folder to another but leaving all folders that started with S, so i used command:

    cp -R [!S]* /NewFolder/

    and it seems it is doing what i wanted. i’ll update here (InshahAllah) when finished copying ..

  5. plz tell me …if we make a directory/file in the root …than how we delete it when we are login from a local user …..

  6. find /path/to/folder -type d -print -delete

    will print and delete only empty directories AND directories containing empty directories within /path/to/folder. Omit -print if you don’t need the list

Leave a Comment