Managing files using the command line is an essential skill for all Linux users, and knowing how to safely remove a file in Linux is a key part of it. So whether you are cleaning up the clutter, deleting logs, or managing the project files, Linux offers powerful tools for all!
However, one wrong command and you can mess up critical data. This guide will help you walk through the various ways to remove a file in Linux, from basic deletion to more advanced operations.
Basic Syntax of the rm Command
The rm (remove) command in Linux is used to delete the files and directories. The basic syntax is something like this:
rm [options] filename
- filename: Name of the file(s) you want to delete.
- options: Optional flags to modify the behavior (e.g., -r, -f, -i).
However, be very careful while using the rm command since it permanently deletes the files and they do not move to the trash.
How to Remove a Single File
To remove a certain specific file in the current directory, use the command:
Get exclusive access to all things tech-savvy, and be the first to receive
the latest updates directly in your inbox.
rm file.txt
You can also specify the full path using the command:
rm /home/user/documents/file.txt
To be prompted for confirmation before deletion, run the following command:
rm -i file.txt
Related Article: How to Use the mv Command in Linux: Syntax, Options, and Examples
How to Remove Multiple Files at Once
To remove multiple files by specifying them all in a certain directory, use the command:
rm file1.txt file2.log file3.csv
Or you can specify a wildcard pattern to remove same files:
rm *.log

This deletes all .log files in the directory.
Removing All Files in a Directory in Linux
When you need to delete all the files in a directory without getting rid of the directory itself, run:
rm /path/to/dir/*
If the directory contains subdirectories or hidden files, use:
rm -rf /path/to/dir/*
-r: Recursive (for directories)
-f: Force delete without prompts
Be very careful with this command—it can wipe large amounts of data instantly.
How to Delete Directories and Their Contents
When you need to delete an empty directory, use the command:
rmdir directory_name
Alternatively, if you need to delete the directory along with all of its contents, including the files and subdirectors, use the -r (recursive) option with rm:
rm -r directory_name
To cancel out any confirmation prompts or errors, use:
rm -rf directory_name
However, rm -rf is powerful and irreversible, so double check the paths before executing.
Prompt Before Deleting: The -i Option
If you need to safeguard before each deletion, use the -i (interactive) flag:
rm -i file.txt
rm -ri directory_name
With this command, you would be asked for confirmation before deleting each file or directory.
To exercise more caution, combine it with -I, which prompts once if deleting multiple files:
rm -I *.log
Force Deletion with -f
The -f (force) flag tells the rm command to ignore the non-existent files and never to prompt the user.
rm -f file.txt
When used with -r, this removes entire directory trees silently:
rm -rf directory_name
However, you should only use this when you’re absolutely sure about what’s being deleted, since it is also non-reverseable.
Using Wildcards to Remove a File in Linux
Wildcards will allow you to delete multiple files based on the patterns. Some command examples are:
- Delete all .tmp files: rm *.tmp
- Delete all files starting with “test”: rm test*
- Delete everything in a directory: rm /path/to/dir/*
- Add -r or -rf if directories are involved.
Remove a File in Linux With GUI
If you prefer to use a graphical user interface, most desktop environments, such as KDE Plasma, XFCE, or even GNOME would provide you with a way to remove a file in Linux.
Steps (Example in GNOME / Ubuntu):
- Open the files app on your desktop environment.
- Right-click on the file that you need to remove.
- Click move to trash or delete.
- “Move to Trash” keeps the file in the Trash folder until it’s emptied.
- “Delete” will permanently remove the file (you may need to press Shift + Delete).
You can then empty the Trash manually or configure it for auto-deletion after a specific number of days.
Secure File Deletion for Privacy
Normal deletion will not overwrite the file data, instead it would just unlink it. That means that the data recovery is possible with forensic tools.
To securely erase files:
- Using shred (overwrites the file):
shred -u filename
-u deletes the file after overwriting.
- Using wipe (you may need to install it):
sudo apt install wipe
wipe filename
- BleachBit (GUI tool for secure cleaning):
sudo apt install bleachbit
- It supports secure deletion and system-wide cleanup.
Avoiding Common Mistakes While Removing a File in Linux
Mistake | Description | How to Avoid |
rm -rf / | Deletes the entire filesystem | Never run rm -rf /, especially as root |
Missing wildcards | rm *.log vs rm * .log (space) — second command may delete everything | Double-check spacing and patterns |
Using sudo unnecessarily | May lead to system file deletion | Avoid sudo unless needed |
Not using -i or backups | Deletes files permanently | Use -i or keep versioned backups |
Conclusion
Whether you use the CLI or GUI system to remove a file in Linux, it is essential to practice safe management. The rm command does give you power and flexibility, but it is also very risky. Always double-check the commands, before you hit execute, create backups, and you are good to go!
FAQs
What is the difference between rm
and unlink
?
Both can delete files, but unlink
only works on single files and offers less flexibility than rm
.
How do I safely delete files in Linux?
Use the -i
flag with rm
(e.g., rm -i file.txt
) for confirmation before deletion or create backups before removing critical files.
What does rm -rf
mean?
It forcefully (-f
) removes files and directories recursively (-r
). Use it with extreme caution.