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
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]
How to Remove a Directory in Linux
To remove a directory, you can use the
-R switch, which tells rm to delete a directory recursively including its content (sub-directories and files).
$ rm tecmint_files/ $ rm -R tecmint_files/
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
How to Remove Directories with Confirmation Prompt
To prompt for confirmation while deleting a directory and its sub-directories, use the
-i option as shown.
$ rm -Ri tecmint_files/
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
-f flags, it means that recursively and forcibly remove a directory (and its contents) without prompting for confirmation.
$ rm -rf fossmint_files
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
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
# 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
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
Does rm Delete a File?
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.