Linux Delete Folder Recursively

Posted on in Categories , , last updated March 18, 2014

How do I delete folder recursively under Linux operating systems using a bash command line options?

You need to use the rm command to remove files or directories (also known as folders) recursively. The rmdir command removes only empty directories. So you need to use rm command.

rm command syntax to delete directories recursively

The syntax is as follows:
rm -r dirName

OR

rm -r folderName

OR

rm -rf folderName

Examples

In this example, recursively delete data folder:

rm -r /home/vivek/data/

The specified /home/vivek/data/ will first be emptied of any subdirectories including their subdirectories and files and then data directory removed. The user is prompted for removal of any write-protected files in the directories unless the -f (force) option is given on command line:

rm -rf dirname-here

OR

rm -r -f /path/to/folder/

To remove a folder whose name starts with a -, for example '--dsaatia', use one of these commands:

rm -rf -- --dsaatia

OR

rm -rf ./--dsaatia

See rm(1) or rm command example page for more information.

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.

Share this on (or read 5 comments/add one below):

5 comment

  1. What is the significance of -r in the code ?
    rm -r dirname
    what is the difference in using -rf and -r ?

  2. Thanks. Great article.
    I have a question. How can I delete all subfolders /wp-content/cache/* in all folders in /home/ directory?

    Have a question? Post it on our forum!