How to Delete a File in Linux (5 Methods)

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.

files selected for deletion

3. Alternatively, you can right-click on one of the selected files and select the “Move To Trash” option.

Move to trash menu

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>

delete single file using rm command

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 multiple files using rm command
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>

prompt before deleting the files
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>

Command to force delete write-protected files

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:

  1. ? 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.
  2. * 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’.
  3. [] 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.

checking and deleting files using wildcards

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>

unlink command usage

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 file using the shred command

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.

delete a file using the find command

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.

Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Jassweb.com/

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.

Contact
San Vito Al Tagliamento 33078
Pordenone Italy
Item added to cart.
0 items - 0.00
Open chat
Scan the code
Hello 👋
Can we help you?