Linux Delete Folder Recursively

last updated in Categories , ,

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:[donotprint][/donotprint]
rm -r dirName


rm -r folderName


rm -rf folderName


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


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


rm -rf ./--dsaatia

See Linux rm(1) command man page 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.

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?

    Still, have a question? Get help on our forum!