How to Delete Files and Directories on Linux
Introduction
Before we begin talking about how to delete files and directories on Linux, let's briefly understand – What is deleting files and directories?
"Delete files and directories" refers to the act of permanently removing files and folders from a computer or storage device. When you delete these items, they are no longer accessible and take up no space. This action is crucial for organizing data and freeing up storage capacity. Whether you're looking to remove unwanted files or cleanup cluttered folders, deleting files and directories is a fundamental process for managing digital content efficiently.
Please note that the files and directories deleted using the commands mentioned in this tutorial are deleted permanently and can only be recovered with a backup.
In this tutorial, you will delete files and directories on Linux. We will also address a few FAQs on how to delete files and directories on Linux.
How to Remove Files
You can use either the rm
(remove) or unlink
command to delete files. With unlink
command you can only delete a single file, while with the rm
you can delete multiple files at once.
- Use the following command to delete a single file:
Using unlink
unlink filename
Using rm
rm filename
In case the file is write-protected, you will get a prompt for confirmation. Click Y
and hit Enter
to remove the file. If in case the file is not write-protected, it will be deleted without a prompt.
Ouput
rm: remove write-protected regular empty file 'filename'?
Remove (Delete) Multiple Files
- Use the following command to delete multiple files at once:
rm filename1 filename2 filename3
- You can also use regular expressions and wildcard
(*)
to find all.pdf
files and remove them:
rm *.pdf
- To confirm every file before deleting, add the
-i
option:
rm -i filename(s)
- You can force delete files even if they are write-protected with
-f
(force) flag:
rm -f filename(s)
rm
file doesn't show any messages while deleting the files. You can use the-v
flag to know what therm
command is doing currently:
rm -v {file-name}
Delete the Archive
- You can use the
-d
flag to delete an empty directory:
$ rm -d {dir-name}
Locate and Delete Files
- Locate command comes in handy when you have more complicated specifications. You can specify a path and follow a search pattern:
find {dir-to-search} -type f -name {pattern} -exec rm -f {} \;
- Find command supports the delete feature. The delete flag can override the
rm
flag, while the-depth
flag tells find to process the directory contents apart from the directory itself:
find {dir-to-search} -type f -name {file-name-pattern} -depth -delete
Deleting Hidden and Non-Hidden Files
Any file that starts with a dot character is treated as a hidden file on Linux. If you want to see all the hidden files, use -a
with ls:
ls -a
- If you want to remove all files apart from the hidden files, use either one of the below commands:
rm /path/to/dir/*
rm -rf /path/to/dir/*
rm *
- To delete all files along with the hidden files, use the following command:
rm -rf /path/to/dir1/{*,.*}
rm -rfv /path/to/dir1/{*,.*}
How to Remove Directories (Folders)
Use the rm
or rmdir
commands to delete the directories.
With rmdir
, you can only delete the empty directories. Use rm
to delete the directories and their contents recursively.
- Delete an empty directory with
rmdir
orrm -d
followed by a directory name:
rm -d dirname
rmdir dirname
- Use the
-r
flag to delete a non-empty directory:
rm -r {dir-name}
- If you want to delete the non-empty directory, use the
rm
command with the-r
flag, which will delete the files recursively:
rm -r dirname
- To delete a non-empty directory without a prompt, use
rm
with-r
recursive and-f
flags:
rm -rf dirname
FAQs to Delete Files and Directories on Linux
Can I recover a deleted file on Linux?
If you have not permanently deleted the file (using the -r
option with rm
), you can potentially recover it from the trash or by using data recovery tools. Otherwise, deleted files without a backup are generally irrecoverable.
Can I delete multiple files at once on Linux?
Yes, you can delete multiple files at once on Linux using the rm
command with the file names separated by spaces. For example, rm file1.txt file2.txt
will delete both "file1.txt" and "file2.txt".
How do I delete an empty directory on Linux?
To delete an empty directory on Linux, use the rmdir
command followed by the directory name. For example, rmdir mydir
will delete the empty directory named "mydir".
How can I delete a directory and its contents on Linux?
To delete a directory and its contents recursively, you can use the rm
command with the -r
(or -rf
) option. For example, rm -r mydir
will delete the directory "mydir" along with all its files and sub-directories.
What happens when I delete a file/directory on Linux?
When you delete a file or directory on Linux, it moves to the trash (or recycle bin) unless you use the rm
command with the -r
option to remove it permanently. You can recover files from the trash if needed.
How can I delete a hidden file on Linux?
Hidden files in Linux start with a dot (e.g., .myfile.txt). To delete a hidden file, use the rm
command followed by the file name. For example, rm .myfile.txt
will delete the hidden file named ".myfile.txt".
What permissions do I need to delete a file or directory?
To delete a file, you need write permission on the file itself. To delete a directory, you require write permission both on the directory and its parent directory.
Conclusion
We hope this detailed guide helped you understand how to delete files and directories on Linux.
If you have any queries, please leave a comment below, and we’ll be happy to respond to them for sure.