How to Delete Directories Recursively in Linux

How to Delete Directories Recursively in Linux

Hey there, and welcome back to ProgramGuru.org! In this lesson, we’re going to learn how to delete a directory and all of its contents using Linux commands. If you're new to Linux or just cautious about deleting things, this tutorial will walk you through everything step by step, safely and clearly.

🚨 What Does "Recursively" Mean?

In simple words, recursively deleting means you’re telling Linux: “Hey, delete this folder and EVERYTHING inside it — even other folders and files buried deep inside.”

🔧 The Command We’ll Use: rm -r

Here’s the command we’ll use:

rm -r <directory-name>

Let’s break that down:

  • rm stands for remove
  • -r stands for recursive
  • <directory-name> is the folder you want to delete

📁 Step-by-Step Example

Let’s say we have a folder named test_folder that contains some files and subfolders. Here’s how to delete it:

ls
Desktop  Documents  Downloads  test_folder
rm -r test_folder

Linux will now delete test_folder and everything inside it — all files, all subdirectories.

✅ Want a Confirmation Before Deleting?

If you’re nervous and want to be asked before each file is deleted, add the -i option:

rm -ri test_folder
rm: descend into directory 'test_folder'? y
rm: remove regular file 'test_folder/file1.txt'? y
rm: remove directory 'test_folder'? y

This is super helpful when you’re learning and don’t want to make accidental mistakes.

⚠️ Warning: There’s No Undo!

Once deleted, the files are gone. There’s no recycle bin in most Linux terminals. So always double-check before hitting Enter.

Pro Tip: Try it in a Safe Environment

If you’re worried about messing up your real folders, you can practice this in a test directory:

mkdir test
cd test
mkdir inner
touch inner/file1.txt
cd ..
rm -r test