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 the 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 rootadminz_files
$ touch rootadminz.txt
$ rm rootadminz.txt
$ rm rootadminz_files


How to Remove Multiple Files in Linux


To remove multiple files at once, 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 rootadminz.txt uniznet.txt  [Using Filenames]
$ rm *.txt                     [Using Pattern]


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 rootadminz_files/
$ rm -R rootadminz_files/


How to Remove Files with Confirmation Prompt


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

$ rm -i rootadminz.txt


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 rootadminz_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 rootadminz.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 uniznet_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 uniznet_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 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 whenever you execute rm, it will be invoked with the -i option by default (but using the -f flag will override this setting).

$ rm uniznet.txt
$ rm rootadminz.txt


Does rm Delete a File?


Actually, the rm command never deletes a file, instead, it unlinks from the disk, but the data is still on the 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 the shred command-line tool to overwrite a file to hide its contents.


Was dit antwoord nuttig? 0 gebruikers vonden dit artikel nuttig (0 Stemmen)