The command to delete a file in Ubuntu is rm
.
Understanding the rm
Command in Ubuntu
The rm
(remove) command is the fundamental utility in Ubuntu, and other Unix-like operating systems, for deleting files and directories from the command line. It's a powerful tool that, when used carelessly, can lead to irreversible data loss, as files deleted with rm
are not typically moved to a trash or recycle bin.
Basic File Deletion
To delete a single file, you simply use the rm
command followed by the file's name:
rm filename.txt
If the file is not in your current working directory, you must specify the correct path to the file. For example:
rm /home/youruser/documents/report.pdf
The system will display an error message if the specified path is incorrect or the file does not exist, and then proceed to the next file if multiple are listed.
Deleting Multiple Files
You can delete several files at once by listing them after the rm
command:
rm file1.txt file2.txt image.jpg
Wildcards can also be used for more efficient deletion of multiple files matching a pattern. For instance:
- Delete all files ending with
.log
:rm *.log
- Delete all files starting with
temp_
:rm temp_*
- Delete all
.png
files in a specific directory:rm /path/to/directory/*.png
Important rm
Options
The rm
command supports various options (flags) to modify its behavior, as indicated by its general format: rm [-f|i|I|q|R|r|v] file...
. These options provide more control over the deletion process.
Here's a table summarizing commonly used rm
options:
Option | Description |
---|---|
-f |
Force deletion: Ignores non-existent files and never prompts for confirmation. Use with extreme caution, as it overrides any protections. |
-i |
Interactive: Prompts for confirmation before every file deletion. This is a good safety measure, especially when using wildcards. |
-I |
Prompt once: Prompts once before removing more than three files, or when removing recursively. It offers a balance between interactivity and efficiency. |
-r , -R |
Recursive deletion: Used to delete directories and their contents. Without this option, rm will refuse to delete directories. This option must be used with extreme care. |
-v |
Verbose: Explains what is being done, printing the name of each file as it is removed. Useful for confirming which files are being deleted, especially with wildcards. |
-q |
Quiet: Suppresses all warning and diagnostic messages. This can be dangerous as it hides potential issues. |
Deleting Directories
To delete an empty directory, you can use the rmdir
command:
rmdir empty_directory
However, to delete a directory that contains files or other subdirectories, you must use the rm
command with the recursive option (-r
or -R
):
rm -r my_folder
This command will delete my_folder
and all its contents (files and subdirectories). It's crucial to be absolutely sure about what you're deleting when using -r
, as it can lead to significant data loss.
Safety and Best Practices
Given the destructive nature of rm
, consider these best practices:
- Always double-check: Before executing
rm
, especially with wildcards or the-r
option, review the command carefully. - Use
-i
for safety: When unsure, add the-i
(interactive) flag to prompt for confirmation before each deletion.rm -i *.tmp
- Use
ls
first: To see what files will be affected by a wildcard, runls
with the same pattern first.ls *.log rm *.log
- Consider a "Trash" utility: For a safer alternative that moves files to a trash bin instead of permanently deleting them, you can install
trash-cli
.sudo apt install trash-cli trash-put filename.txt
This allows you to restore files if deleted accidentally. Learn more about
trash-cli
on its GitHub page or other Linux resources.
For more in-depth information, you can always consult the rm
man page in your terminal:
man rm