Module lessons (3/3)
Deleting resources (rm)
To delete files and directories in the terminal, use the command:
rm [path]This command stands for Remove.
[!WARNING] Unlike files deleted via a graphical user interface (desktop), files deleted in the terminal with
rmdo not go to the trash bin. They are deleted instantly and permanently. Use it with extreme caution!
Deleting Files
To delete a single file in the current directory:
rm notes.txtDeleting Directories Recursively with -r
If you try to delete a directory using just rm, the terminal will display an error stating that the target is a directory. To remove a directory and all files and subdirectories within it, you must specify the -r (recursive) option:
rm -r folder_to_deleteForcing Removal with -f
Sometimes you may get confirmation prompts asking if you really want to delete write-protected files, or errors if a file does not exist.
The -f (force) option forces deletion without asking for confirmation and ignores non-existent files:
rm -rf folder_to_deleteThe combined -rf option is one of the most powerful and feared commands in the command line: it deletes everything instantly with no warnings.
Usage Examples and Common Errors
If you try to delete a directory without specifying the recursive -r option, the rm command will fail with an error:
rm backup
# Output:
# rm: cannot remove 'backup': Is a directoryTo remove multiple files in a single command, list them one after another separated by spaces:
rm file1.txt file2.txtTry it yourself
Exercise 1: Delete an obsolete file
Delete the file 'old_notes.txt' from the current folder.
Show hint
Use the rm command followed by the exact filename.
Solution available after 3 attempts
Exercise 2: Remove a backup folder
Delete the 'backup' folder and all its contents recursively.
Show hint
Use rm with the recursive -r flag and specify the folder name.
Solution available after 3 attempts
Exercise 3: Delete multiple files
Delete both the 'report.txt' and 'old_notes.txt' files at the same time by listing them both as arguments to the rm command.
Show hint
Use the rm command followed by report.txt and old_notes.txt separated by a space.
Solution available after 3 attempts