How to Delete a Directory in Linux

How to Delete a Directory in Linux

In this tutorial, we’re going to learn how to delete directories in Linux—safely.

If you're just starting out, you might be wondering: "Why are there different commands to delete directories? And what happens if the folder has files inside it?" Don't worry—we'll cover it all in simple steps.

Deleting an Empty Directory: rmdir

Let’s start with the simplest case—deleting an empty folder. Linux gives us a command called rmdir just for that.

rmdir myfolder

This will work only if myfolder is completely empty.

rmdir: failed to remove 'myfolder': Directory not empty

See that error? If the folder has even a single file or subfolder inside, rmdir won't work.

Deleting a Directory with Files: rm -r

Now here’s the real deal. If your directory contains files or other folders, use rm with the -r flag. It stands for “recursive”—which means it will go inside and delete everything.

rm -r myfolder

But be careful: this command is powerful. It deletes the folder and everything in it—forever.

Prompt Before Deletion: rm -ri

If you're nervous (which is totally normal), add the -i flag to ask for confirmation before deleting each file:

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

Great! Now you're in control.

Force Deletion (Use with Caution!): rm -rf

If you're absolutely sure and want to skip all prompts—even if files are read-only—you can use -f for force:

rm -rf myfolder

Warning: This will delete everything inside myfolder without asking. Only use it if you know what you're doing.

Summary

  • rmdir folder — delete an empty directory
  • rm -r folder — delete a folder and all its contents
  • rm -ri folder — delete interactively with confirmation
  • rm -rf folder — force delete without confirmation

And that’s it! You now know how to safely delete directories in Linux. Practice on test folders first to get comfortable.

Srinivas Namala, author
About the author

Srinivas Namala

Software Engineer

Srinivas focuses on backend development, databases, systems, and the technologies used to build reliable server-side applications.

View LinkedIn profile ↗