1. Using the rm Command: The rm command is the most common way to delete files in Linux. To delete a file, simply type rm followed by the file name. For example, to delete a file named “myfile.txt”, type rm myfile.txt.
2. Using the unlink Command: The unlink command is similar to the rm command, but it only deletes the file name, not the actual file. To delete a file named “myfile.txt”, type unlink myfile.txt.
3. Using the shred Command: The shred command is used to securely delete files. It overwrites the file multiple times with random data, making it impossible to recover the original file. To delete a file named “myfile.txt”, type shred myfile.txt.
4. Using the find Command: The find command can be used to search for and delete files. To delete a file named “myfile.txt”, type find . -name “myfile.txt” -delete.
5. Using the rmdir Command: The rmdir command is used to delete empty directories. To delete an empty directory named “mydir”, type rmdir mydir.
As is the case with any operating system, file management is an important part of using Linux. Sometimes, it becomes necessary to delete files in order to free up space or to remove unnecessary files. While it sounds like a simple task, deleting a file in Linux can be challenging for beginners. In Linux, there are various methods to delete a file, including using the command line (CLI), graphical user interface (GUI), and more. That said, we have covered five different methods to delete files and folders in Linux in this guide. So without further ado, let’s dive right in.
Remove a File in Linux (2023)
Below, we have detailed the methods to delete a file via the file manager and some Linux commands to accomplish the task. We are using Ubuntu 20.04 LTS and Nautilus file manager for this tutorial but rest assured as these methods will work on any Linux distribution.
Delete a File Using File Manager in Linux
Delete Files Temporarily in Linux
1. To delete a file temporarily, open a file manager of your choice and navigate to the location of the files you wish to delete.
2. Then, select the files you want to delete and press the “Delete” key on the keyboard.
3. Alternatively, you can right-click on one of the selected files and select the “Move To Trash” option.
All files deleted using the file manager are moved to a new location known as “Trash,” which is similar to Recycle Bin in Windows.
Delete Files in Linux Permanently
To permanently delete files in Linux using a file manager, select the files you want to delete and press the “Shift + Delete” keys together. It is also a good practice to empty the “Trash” from time to time to restore much-needed storage space on your Linux device.
Delete a File Using the Terminal in Linux
The command line method to delete files is the fastest method of the two. Here, we have discussed four easy-to-use commands, including rm, unlink, shred, and find, to delete files in Linux.
How to Use the rm
command in Linux
First, let’s look at the rm
command. It is a versatile command that can be used to delete files as well as directories and offers a ton of options to work with. The basic syntax of the rm
command is:
rm <options> <filename_or_directory>
The rm command supports the following options:
Option | Description |
---|---|
-f |
-f stands for forced deletion. With this flag, users will not get a confirmation prompt and all nonexistent files and directories will be ignored. |
-i |
-i stands for interactive deletion. When this flag is used, the command will ask for confirmation from the user for each file deletion. |
-r |
-r refers to recursive deletion. When this flag is used, the command will remove all the contents of the directory specified. |
-d |
This flag is used to remove empty directories. |
-v |
This flag shows an explanation of what is being done currently. |
After executing the command, if there is no output, it means the command has been executed successfully. An error message is printed only when the executed command has run into issues.
Delete Single File
To delete a single file irrespective of the file location in Linux, use the following command:
rm <path_to_the_file>
Note: If you’re in the same directory, you can simply write the file name instead of writing the path to the file.
Delete Multiple Files
To delete multiple files existing in different directories, you simply need to paste the file locations after the command separated by empty spaces. Here’s how you can use the following command:
rm <path_to_the_file_1> <path_to_the_file_2> <path_to_the_file_3>
Delete Files with a prompt
Generally, the rm
command only gives a prompt when deleting a write-protected file. To get a prompt before deleting every file, use the -i
flag with the rm
command as shown below:
rm -i <path_to_the_file>
Force Delete Files
If you do not want to see any prompt when deleting some files, use the -f
to forcefully delete the files as shown below:
rm -f <path_to_the_file>
Even after using the -f flag, if you see an error stating “Permission Denied” use root privilege with the sudo
command as shown below:
sudo rm -f <path_to_the_file>
Delete Files using Wildcards
In Linux, we can use wildcards to match and delete a file. Wildcards are special characters that recognize a specific naming pattern and work for both files and directories. There are three types of wildcards:
- ? character: This will match with any single character only. For example, if we provide input as te?t.txt, then the ? character will match with any character in the file names starting with ‘te’, ending with ‘t’, and having one character in between.
- * character: This will match any character any number of times in the given string. For example, if we give input as t**t.txt, the ** character will match with any character any number of times in the file names starting with ‘te’ and ending with ‘t’.
- [] character: This match only the characters specified within the brackets. For example, if we give input as te[ab]t.txt, then this will match only as teat.txt and tabt.txt with the file names present in the given directory.
We can use wild cards in a variety of commands, including the rm
command, as shown below:
rm <wildcard>.<extension>
It is always advisable to run the ls
command with wildcards to see if you are getting the correct file names. Otherwise, wrong commands could delete your important files. Once you can verify the file names are correct, you can execute the rm
command with the wildcards.
Delete Files Using the unlink
Command
The unlink
command in Linux does not have many options and can only delete a single file at a time. The basic syntax of the unlink
command is as shown below:
unlink <file_name>
Delete Files Using the shred
Command
Normally when we delete a file in Linux using any command, only the pointer which points to the memory block gets deallocated but the file contents still exist in the memory. This enables many recovery tools in recovering deleted files. If you want to permanently delete files from the memory and leave no trace, you should use the shred command. It obfuscates the file contents multiple times and then deletes the file, making it nearly impossible for any recovery tool (even with advanced hardware) to recover the file.
To delete a file permanently in Linux, use the following command:
shred -uz <file_name>
Here, -u
is used to delete the file and -z
is for overwriting a file with zeroes to hide the shredding, thus, leaving no trace of the file.
Delete Files Using the find Command
The find command can be used to delete files when you do not know their exact location. The syntax to delete files using the find command in Linux is:
find . -name "<filename>" -exec rm {} \;
In the above syntax, the find command looks for the filename and then passes the search results to the rm
command, which deletes the files. The backslash is used to treat the semicolon as a command termination.
Frequently Asked Questions
How do I delete content from a file in Linux?
In order to delete the file contents but keep the file intact, use the following command. Here, the >
character is used to redirect the specified contents into the mentioned filename.
> <large_file_name>
How do I delete empty files in Unix?
To delete empty files in a directory, use the following command:
find . -type f -empty -print -delete
Why can’t I delete a file in Linux?
While deleting a file, if you see an error like “permission denied”, it means you do not have “write permission” for modifying the file.
Efficiently Delete Files in Linux
In this article, we have shown some easy steps to delete files in Linux using both the GUI as well as the Terminal. We hope this article was helpful in teaching how to use commands like find to not only search for but also delete files when used with the rm command. Further, do remember to double-check the files before deleting them, or else you could lose access to important personal data. And if you’re cozying up to the Terminal, we suggest you also go through our in-depth guide on how to rename a file in Linux. That said, do let us know your most-used Linux commands in the comments section below.
How to Delete a File in Linux (5 Methods)
Deleting a file in Linux is a relatively simple task. There are several different ways to delete a file, depending on the type of file and the system you are using. In this article, we will discuss five different methods for deleting a file in Linux.
Method 1: Using the rm Command
The rm command is the most common way to delete a file in Linux. To delete a file, simply type the following command in the terminal:
rm filename
Where filename is the name of the file you want to delete. This command will delete the file immediately, without prompting for confirmation.
Method 2: Using the unlink Command
The unlink command is similar to the rm command, but it does not delete the file immediately. Instead, it removes the file’s link from the file system, making it inaccessible. To use the unlink command, type the following in the terminal:
unlink filename
Where filename is the name of the file you want to delete.
Method 3: Using the shred Command
The shred command is used to securely delete a file. It overwrites the file multiple times with random data, making it impossible to recover the original file. To use the shred command, type the following in the terminal:
shred filename
Where filename is the name of the file you want to delete.
Method 4: Using the find Command
The find command is used to search for files in a directory. It can also be used to delete files. To delete a file using the find command, type the following in the terminal:
find directory -name filename -delete
Where directory is the directory where the file is located, and filename is the name of the file you want to delete.
Method 5: Using the Trash Command
The trash command is used to move a file to the trash. This allows you to recover the file if you change your mind. To use the trash command, type the following in the terminal:
trash filename
Where filename is the name of the file you want to delete.
These are five different methods for deleting a file in Linux. Depending on the type of file and the system you are using, one of these methods may be more suitable than the others. Be sure to choose the method that best suits your needs.