What is the difference between rm and rm -rf?

November 7, 2019 199 views
Linux Commands Linux Basics

I was recently asked what is the difference between rm and rm -rf and I thought that it would be nice to share the answer with here as well.

1 Answer

If you only run rm it would only delete the named files and not directories. A rundown of the -rf arguments:

  • -r, -R, --recursive - is used to recursively delete the content of a directory, including hidden files and subdirectories.

  • -f, --force - Attempt to remove the files without prompting for confirmation, regardless of the file’s permissions.

Here’s an example of what would happen if you only run rm and try to delete a directory:

rm dir1

The output that you would get is:

rm: dir1: is a directory

So to delete a folder you would just need to add the -r argument:

rm -r dir1

Regarding the -f argument, sometimes when deleting a file you would be asked for permissions, it would look something like this:

rm -f file1

Output:

rm: remove regular empty file 'file1'? yes

It is fine for a single file and it would prevent you from accidentally deleting a file, but if you are deleting hundreds of files, having to type yes for every single one could take ages. So to force the process just use the -f argument.

Hope that this helps!
Regards,
Bobby

Have another answer? Share your knowledge.