Open In App
Related Articles

How to Delete Files in Linux?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

Linux comes with several tools that can assist us in removing Directories and files. We always need to delete many files and folders based on a set of requirements. To complete our mission quickly, knowing a few basic commands and their variations is beneficial.

  • Use caution when using the commands below, particularly those that use regular expressions or search patterns with the find command. An incorrect expression or pattern will result in the deletion of important data/system files and non-intended files.
  • Often have a current copy of critical data and device files.
  • Use caution when running those commands, particularly if you’re using Sudo or as the superuser (root).

Not so well-liked. We may use the unlink command to permanently delete a single file.

unlink {file-name}



In Linux, how can I delete files and directories?

In Linux, how can I delete files and directories?

2. Delete a single file in Linux

The rm command, which facilitates deleting one or more files simultaneously, is a more widely used command for Deleteing files in Linux.

rm {file-name}



rm {file-name}

rm {file-name}

If the file is write-protected, rm will ask you to validate its deletion; otherwise, it will delete it without prompting. Using the “-i” flag to force rm to prompt for confirmation before deleting a file:

rm -i {file-name}



rm -i {file-name}

rm -i {file-name}

The rm command deletes files without showing any messages. Using the rm command with the -v flag to see what the rm command is currently doing.

rm -v {file-name}



rm -v {file-name}

rm -v {file-name}

Using the -f flag to remove or delete write-protected files without asking for clarification.

rm -f {file-name}



rm -f {file-name}

rm -f {file-name}

3. Delete Multiple files in Linux

Bypassing multiple filenames as arguments to rm, you can delete multiple files.

rm {file-name-1} {file-name-2} {file-name-3} ... {file-name-N}



Multiple files can be deleted:

Multiple files can be deleted:

Regular expressions are also supported by rm. If you want to delete all files with the name file-name-*, type:

rm file-name*.ext



rm file-name*.ext

rm file-name*.ext

Regular expressions may also be used to define different directories. We can use something like to delete three files that fit file-name-1, file-name-2, and file-name-3.

rm file-name-[123]



rm file-name-[123]

rm file-name-[123]

4. Locate and Delete files in Linux

We can use the locate command with various choices for more complicated specifications. To delete all files in a path specified by {dir-to-search} that follow a pattern {pattern}.

find {dir-to-search} -type f -name {pattern} -exec rm -f {} \;

Example:

find luv -type f -name "*.txt" -exec rm -f {} \;



Locate and delete files

Locate and delete files

We may slightly change the above command to delete everything that fits the sequence {pattern}, including directories within {dir-to-search}:

find {dir-to-search} -name {pattern} -exec rm -rf {} \;



find {dir-to-search} -name {pattern} -exec rm -rf {} \;

find {dir-to-search} -name {pattern} -exec rm -rf {} \;

Internally, modern implementations of the find command support the delete feature. The -delete flag is used to override the rm instruction, while the –depth flag tells find to process the contents of the directory before the directory itself:

find {dir-to-search} -type f -name {file-name-pattern} -depth -delete

5. Empty files should be found and deleted

You may use the following command to remove all empty directories within a given path dir-to-search:

find {dir-to-search} -type d -empty -delete



Empty files should be found and deleted

Empty files should be found and deleted

Instead, use the following command to remove all empty files within a given path dir-to-search:

find {dir-to-search} -type f -empty -delete



find {dir-to-search} -type f -empty -delete

find {dir-to-search} -type f -empty -delete

7. Permissions are used to locate and delete files

We can now remove files based on special permissions, such as:

find {dir-to-search} -name {pattern} -perm {NNN} -delete

Consider the following scenario:

find /var/tmp -name "temp*" -perm 755 -delete



Permissions are used to locate and delete files

Permissions are used to locate and Delete file in Linux

Easy (unlink), (rm), and (rmdir) commands are available in Linux, and they can be quickly expanded with regular expressions. For more specialized needs, you should use a variety of techniques such as (find) to accomplish your goals. Aside from the examples in this post, you can configure your quest by using find with any of the available flags.

Often run find commands without the rm or -delete flags and examine the output to determine which files or folders may be affected by the execution of a program. Backup setup and procedure are beneficial not just in the event of unintentional deletions, but also in the event of hardware errors and cyber-attacks.

Frequestly Asked Question on How to Delete Files in Linux

1. How do I delete a single file in Linux using the rm command?

To delete a single file in Linux, you can use the `rm` command followed by the filename. For example, to remove a file named “filename.txt,” you would execute the following command:

rm filename.txt


Be cautious when using `rm` as it permanently deletes files, and there is no easy way to recover them.

2. Can I delete multiple files at once in Linux?

Yes, the rm command supports the use of wildcards to delete multiple files at once. For instance, to remove all files with the “.txt” extension in the current directory, you can use the following command:

rm *.txt


This command deletes all files with names ending in “.txt” within the current directory.

3. What is the difference between `rm` and `rmdir` commands in Linux?

The `rm` command is used to remove files, and it can also remove directories and their contents. On the other hand, the `rmdir` command is specifically designed to remove empty directories. If you attempt to use `rmdir` on a non-empty directory, it will result in an error. For example:

rm file.txt      # Removes a file
rmdir empty_dir # Removes an empty directory


4. How can I delete a directory and its contents in Linux?

To delete a directory and its contents recursively, you can use the `-r` (or `-R`) option with the `rm` command. Here’s an example of removing a directory named “directoryname”:

rm -r directoryname


This command deletes the specified directory and all its files and subdirectories.

5. How to delete files with a confirmation prompt?

Yes, you can use the `-i` option with the `rm` command to enable interactive mode, prompting for confirmation before deleting each file. For instance, to delete a file named “filename.txt” with confirmation:

rm -i filename.txt


The interactive mode adds an extra layer of safety by requiring user confirmation for each file deletion.

Conclusion

In this article we will discuss how to delete files in Linux . We have discussed multiple methods to delete file in Linux . One can easily understand the conceptual and practical ways to delete file in Linux. It is also important for a Linux user to understand the concepts of deleting files in Linux. We have discussed how to delete a single file , to delete multiple file, delete all files and so on.



Last Updated : 13 Dec, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads