What Actually “rm -rf” Command Do in Linux?

The rm command is a UNIX and Linux command line utility for removing files or directories on a Linux system. In this article, we will clearly explain what actually “rm -rf” command can do in Linux.

In addition, we will share a few useful examples of removing a file, removing a directory, removing multiple files or directories, prompting for confirmation, removing files recursively and forcing removal of files.

The rm command is also one of the frequently used commands on a Linux system, but also a dangerous command that you will discover later on in this article.

How to Remove a File in Linux

By default, the rm command only removes file or files specified on the command line immediately and it doesn’t remove directories.

$ mkdir -p tecmint_files
$ touch tecmint.txt
$ rm tecmint.txt
$ rm tecmint_files
rm Command Example

rm Command Example

How to Remove Multiple Files in Linux

To remove multiple files at onces, specify the file names one by one (for example: file1 file2) or use a pattern to remove multiple files (for example: pattern ending with .txt) at one go.

$ rm tecmint.txt fossmint.txt  [Using Filenames]
$ rm *.txt                     [Using Pattern] 
Remove Multiple Files in Linux

Remove Multiple Files in Linux

How to Remove a Directory in Linux

To remove a directory, you can use the -r or -R switch, which tells rm to delete a directory recursively including its content (sub-directories and files).

$ rm tecmint_files/
$ rm -R tecmint_files/
Remove Directory in Linux

Remove Directory in Linux

How to Remove Files with Confirmation Prompt

To prompt for confirmation while deleting a file, use the -i option as shown.

$ rm -i tecmint.txt
Remove Files with Confirmation

Remove Files with Confirmation

How to Remove Directories with Confirmation Prompt

To prompt for confirmation while deleting a directory and its sub-directories, use the -R and -i option as shown.

$ rm -Ri tecmint_files/ 
Remove Directory with Confirmation

Remove Directory with Confirmation

How to Remove File or Directory Forcefully

To remove file or directory forcefully, you can use the option -f force a deletion operation without rm prompting you for confirmation. For example if a file is unwritable, rm will prompt you whether to remove that file or not, to avoid this and simply execute the operation.

$ rm -f tecmint.txt

When you combine the -r and -f flags, it means that recursively and forcibly remove a directory (and its contents) without prompting for confirmation.

$ rm -rf fossmint_files
Force Deletion of File and Directory

Force Deletion of File and Directory

How to Show Information While Deletion

To show more information when deleting a file or directory, use the -v option, this will enable rm command to show what is being done on the standard output.

$ rm -rv fossmint_files
Show Information of Deletion

Show Information of Deletion

Learn rm -Rf / Command

You should always keep in mind that “rm -rf” is one of the most dangerous commands, that you can never run on a Linux system, especially as root. The following command will clear everything on your root(/) partition.

# rm -rf  /

Create Alias for rm Command in Linux

As a safety measure, you can make rm to always prompt you to confirm a deletion operation, every time you want to delete a file or directory, using the -i option. To configure this permanently, add an alias in your $HOME/.bashrc file.

alias rm="rm -i"

Save the changes and exit the file. Then source your .bashrc file as shown or open a new terminal for the changes to take effect.

$ source $HOME/.bashrc 

This simply implies that when ever you execute rm, it will be invoked with the -i option by default (but using the -f flag will override this setting).

$ rm fossmint.txt
$ rm tecmint.txt
Alias rm Command Confirmation

Alias rm Command Confirmation

Does rm Delete a File?

Actually, the rm command never delete a file, instead it unlinks from the disk, but the data is still on th disk and can be recovered using tools such as PhotoRec, Scalpel or Foremost.

If you really want to permanently delete file or directory, you can use shred command-line tool to overwrite a file to hide its contents.

That’s it! In this article, we have explained some really useful rm command examples and also elaborated on what the “rm -rf” command can do in Linux. If you have any questions, or additions to share, use the comment form below to reach us.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Aaron Kili

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

10 Responses

  1. Vishnu says:

    What happens when rm -rf * command is used on any path. For example, what happens when this is done to “company/employe/ rm -rf *” where the employe directory has got sub directories in it? Will it throw an error or it deletes the files and all the sub directories present in employe directory

  2. Uma says:

    Excellent article, very useful for newbie like me..

  3. Hoper says:

    If you want to delete a lot of files, 10.000 and more for example – command rm doesn’t help you.

    Too many files for read…

    You have to find other way to delete over many files.

  4. No says:

    How can you hope to explain what a command does when you can’t even title your article correctly?

  5. Rajesh says:

    rm -rf what does it do.

    If you execute it on customer files, rm – rf takes away your job.

  6. Shiva says:

    I learned new thing about rm. Good one.

Leave a Reply to No Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.