Bird
Raised Fist0
Linux CLIscripting~5 mins

rm -r (remove directories) in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you need to delete folders and everything inside them on your computer. The rm -r command helps you remove directories and all their files and subfolders quickly and safely.
When you want to delete a folder with many files inside it to free up space.
When you need to remove a project folder that you no longer need.
When cleaning up temporary directories created during software builds.
When deleting old backup folders that are no longer useful.
When removing nested folders that cannot be deleted with simple commands.
Commands
Create a folder named 'test-folder' with a subfolder inside it to demonstrate removal.
Terminal
mkdir -p test-folder/subfolder
Expected OutputExpected
No output (command runs silently)
Create two empty files inside the folders to show that rm -r deletes files too.
Terminal
touch test-folder/file1.txt test-folder/subfolder/file2.txt
Expected OutputExpected
No output (command runs silently)
Remove the 'test-folder' directory and everything inside it recursively.
Terminal
rm -r test-folder
Expected OutputExpected
No output (command runs silently)
→
-r - Recursively remove directories and their contents
Check if the 'test-folder' still exists after removal to confirm deletion.
Terminal
ls test-folder
Expected OutputExpected
ls: cannot access 'test-folder': No such file or directory
Key Concept

If you remember nothing else from this pattern, remember: rm -r deletes a directory and all its contents safely and completely.

Common Mistakes
Running rm without -r on a directory
rm without -r cannot delete directories and will show an error.
Always use rm -r when you want to delete directories and their contents.
Using rm -r on the wrong directory by mistake
This deletes important files or folders permanently, causing data loss.
Double-check the directory name before running rm -r to avoid accidental deletion.
Not having proper permissions to delete the directory
rm -r will fail with a permission denied error if you lack rights.
Use sudo rm -r if you have admin rights and need to delete protected folders.
Summary
Use mkdir and touch to create folders and files for testing rm -r.
Run rm -r foldername to delete a directory and all its contents recursively.
Verify deletion by listing the folder; it should no longer exist.

Practice

(1/5)
1. What does the command rm -r foldername do in Linux?
easy
A. Moves the folder named 'foldername' to the trash bin.
B. Deletes the folder named 'foldername' and all its contents recursively.
C. Renames the folder named 'foldername' to 'r'.
D. Creates a new folder named 'foldername'.

Solution

  1. Step 1: Understand the rm command

    The rm command is used to remove files or directories in Linux.
  2. Step 2: Understand the -r option

    The -r option means recursive, so it deletes the folder and everything inside it.
  3. Final Answer:

    Deletes the folder named 'foldername' and all its contents recursively. -> Option B
  4. Quick Check:

    rm -r deletes folders recursively = C [OK]
Hint: Remember: rm -r removes folders and all inside them [OK]
Common Mistakes:
  • Thinking rm -r moves files to trash
  • Confusing rm -r with renaming
  • Assuming rm -r only deletes empty folders
2. Which of the following is the correct syntax to remove a directory named data and all its contents?
easy
A. rm data -r
B. rmdir -r data
C. rm -r data
D. rm -f data

Solution

  1. Step 1: Check the position of the -r option

    The correct syntax places options before the target, so rm -r data is valid.
  2. Step 2: Validate other options

    rm data -r is incorrect syntax; rm -f data does not recurse on directories; rmdir -r data is invalid because rmdir does not support -r.
  3. Final Answer:

    rm -r data -> Option C
  4. Quick Check:

    Options come before target in rm command = D [OK]
Hint: Options go before folder name in rm command [OK]
Common Mistakes:
  • Placing options after folder name
  • Using rmdir with -r option
  • Confusing rm -r with rm -f
3. Given this directory structure:
project/
├── file1.txt
├── folderA/
│   └── file2.txt
└── folderB/
    └── file3.txt

What happens after running rm -r project/folderA?
medium
A. folderA and file2.txt are deleted, other files remain.
B. Only file2.txt is deleted, folderA remains.
C. Entire project folder is deleted.
D. Command fails with an error.

Solution

  1. Step 1: Identify target folder

    The command targets project/folderA, so only that folder and its contents are affected.
  2. Step 2: Understand recursive deletion

    Using -r deletes folderA and everything inside it, including file2.txt, but leaves other folders and files intact.
  3. Final Answer:

    folderA and file2.txt are deleted, other files remain. -> Option A
  4. Quick Check:

    rm -r deletes target folder and contents only = B [OK]
Hint: rm -r deletes only specified folder and contents, not siblings [OK]
Common Mistakes:
  • Thinking only files inside folderA are deleted but folder remains
  • Assuming entire project folder is deleted
  • Expecting command to fail without error
4. You run rm myfolder but get the error: rm: cannot remove 'myfolder': Is a directory. What is the likely cause?
medium
A. You forgot to use the -r option.
B. You do not have permission to delete the folder.
C. The folder is empty.
D. The folder name is misspelled.

Solution

  1. Step 1: Analyze the error message

    The error 'Is a directory' occurs when rm is used on a directory without the -r option.
  2. Step 2: Check the command

    The shown command lacks -r, confirming the recursive option was forgotten.
  3. Final Answer:

    You forgot to use the -r option. -> Option A
  4. Quick Check:

    rm dir without -r gives 'Is a directory' error = B [OK]
Hint: rm on directory without -r gives 'Is a directory' error [OK]
Common Mistakes:
  • Thinking it's a permission issue
  • Believing empty folders cause this error
  • Suspecting misspelled name
5. You want to safely delete a directory backup only if it exists. Which command sequence achieves this?
hard
A. rmdir backup
B. rm -r backup || echo 'No such directory'
C. rm backup -r
D. [ -d backup ] && rm -r backup

Solution

  1. Step 1: Check if directory exists

    The test [ -d backup ] returns true if 'backup' is a directory.
  2. Step 2: Conditionally remove directory

    The && operator runs rm -r backup only if the test is true, safely deleting the directory and contents.
  3. Final Answer:

    [ -d backup ] && rm -r backup -> Option D
  4. Quick Check:

    Test directory exists before rm -r = A [OK]
Hint: Use [ -d folder ] && rm -r folder to delete safely [OK]
Common Mistakes:
  • Using rm -r without checking existence
  • Using rmdir which fails if folder not empty
  • Incorrect option order in rm command
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard