- How to Delete a File or Directory in Linux – Command to Remove a Folder and its Contents
- How to Delete a File in Linux
- Using the GUI file manager
- Using the rm command
- Using the shred command
- Using the trash-cli command
- How to Delete a Directory in Linux
- Using the rm command
- Using the rmdir command
- Conclusion
- Terminal Basics #6: Delete Files and Folders in Linux
- Deleting files
- 🏋️Exercise file deletion
- Remove but with caution
- Deleting directories
- 🏋️Exercise folder deletion
- Test your knowledge
How to Delete a File or Directory in Linux – Command to Remove a Folder and its Contents
Shittu Olumide
In Linux, deleting files or directories is a fundamental operation that every user must know. Although it may seem like a straightforward task, there are different methods to delete files or directories, each with its specific use case.
This tutorial will provide a step-by-step guide on how to delete files or directories in Linux. We will also walk through the commands you can use to remove files and folders along with their content.
How to Delete a File in Linux
Deleting a file involves removing the reference to the file from the file system. The file itself is not immediately removed from the storage device, but its space is marked as available for reuse.
There are several ways to delete a file in Linux. Here are some of the most common methods:
Using the GUI file manager
Most Linux distributions come with a GUI file manager that allows you to delete files using a graphical interface. Simply navigate to the file you want to delete, right-click it, and select «Delete» or «Move to Trash.»
Using the rm command
You can also use the rm (remove) command to delete files and directories in Linux. To delete a file using the rm command, type the following command in the terminal:
Make sure you replace filename with the name of the file you want to delete. If the file is write-protected or you don’t have sufficient permissions to delete it, you will be prompted to confirm the deletion.
Using the shred command
The shred command is a more secure way to delete files by overwriting the file’s contents multiple times before deleting it. This makes it difficult for anyone to recover the deleted file.
To use the shred command, type the following command in the terminal:
Make sure to replace filename with the name of the file you want to delete. The -u option tells shred to delete the file after overwriting it.
Using the trash-cli command
The trash-cli command provides a safer way to delete files by moving them to the trash instead of immediately deleting them. To be able to use the trash-cli command, you install it first:
sudo apt-get install trash-cli
After installation, you can delete a file using the following command:
How to Delete a Directory in Linux
To delete a directory in Linux, you can use the rmdir or rm command. You use the rmdir command to remove an empty directory, while the rm command removes a directory and all its contents.
Using the rm command
Here are the steps to delete a directory in Linux using the rm command:
- Open the terminal: To delete a directory in Linux, you need to use the command line. Open the terminal by pressing «Ctrl+Alt+T» on your keyboard or by searching for «terminal» in your system’s application launcher.
- Navigate to the directory you want to delete: Use the cd command to navigate to the directory you want to delete. For example, if the directory you want to delete is called my_directory and is located in your home folder, type cd ~/my_directory and press «Enter».
- Check the contents of the directory: Before deleting the directory, it is a good idea to check its contents to make sure you are deleting the right directory. Use the ls command to list the contents of the directory. For example, type ls and press «Enter» to see the files and folders inside the my_directory folder.
- Delete the directory and its contents: To delete the directory and all its contents, use the rm command with the -r option, which stands for recursive. Type rm -r my_directory and press «Enter». You will be prompted to confirm the deletion. Type y and press «Enter» to confirm.
- Verify that the directory has been deleted: To verify that the directory has been deleted, use the ls command to list the contents of the parent directory. For example, if the my_directory folder was located in your home folder, type ls ~/ and press «Enter». The my_directory folder should no longer be listed.
Note: Be very careful when using the rm -r command, as it can delete files and directories irreversibly.
Using the rmdir command
Here are the steps to delete a directory in Linux using the rmdir command:
- Open the terminal: Open the terminal by pressing «Ctrl+Alt+T» on your keyboard or by searching for «terminal» in your system’s application launcher.
- Navigate to the directory you want to delete: Use the cd command to navigate to the directory you want to delete. For example, if the directory you want to delete is called my_directory and is located in your home folder, type cd ~/my_directory and press «Enter».
- Delete the directory: To delete the directory, use the rmdir command followed by the name of the directory. Type rmdir my_directory and press «Enter». If the directory is not empty, you will receive an error message and the directory will not be deleted.
- Verify that the directory has been deleted: To verify that the directory has been deleted, use the ls command to list the contents of the parent directory. For example, if the my_directory folder was located in your home folder, type ls ~/ and press «Enter». The my_directory folder should no longer be listed.
Conclusion
The rm command is the most commonly used command for deleting files, while the rmdir and rm commands with the -r or -R options are used for deleting directories. By following this step-by-step guide, you can now effectively delete files or directories in Linux.
- Be careful when using the rm command with the -r or -R option as it can delete files and directories irreversibly.
- Always double-check the file or directory name before deleting to avoid accidentally deleting the wrong file or directory.
- Use the shred command only when necessary, as it can take longer to delete files than other methods.
- Be mindful of file permissions when deleting files or directories, as some files or directories may require root access to delete.
Let’s connect on Twitter and on LinkedIn. You can also subscribe to my YouTube channel.
Terminal Basics #6: Delete Files and Folders in Linux
You have learned to create files and directories. Now it is time to learn about deleting files and folders in the command line.
In the earlier chapters of the Terminal Basics series, you learned to create new files and directories (folders). Let’s now see how you can delete files and folders in the Linux terminal.
Deleting files
You won’t see any output if the file is successfully deleted. Here’s an example where I removed one of the files named new_file . When I list the directory contents, you can see that new_file no longer exists. You can also remove multiple files in the same command:
Let me show an example of deleting two files in a single command.
🏋️Exercise file deletion
mkdir practice_delete && cd practice_delete
Do you see a message ‘remove write protected file‘? That’s because you removed the write permission (for modification) from this file. You can press Y or enter key to confirm the deletion or N to deny the removal. If you don’t want to see this message and still delete it, you can use the force delete option -f . Try it by deleting file1 :
Here’s a replay of all the above examples to help you:
There is no trash bin in the Linux command line. Once the file is deleted, you cannot undo the action to bring it back from the trash bin as you do in the graphical file manager. For this reason, be extra careful while deleting the files.
Remove but with caution
The lack of trash bin makes the deletion a permanent jobs of sort. This is why you should be careful about what files are you deleting. There is an interactive mode with option -i . With this, you’ll be asked to confirm the deletion.
This is helpful when you are deleting several files based on a certain pattern. Here’s an example where I am interactively deleting all the files that match file_ pattern in their name. I delete some and keep some in the interactive mode.
I advise switching to the directory where the files are located and then removing them. This helps in reducing any potential caused by a typo in file path.
Deleting directories
However, it can only delete empty directories. If the directory has any files or subdirectories in it, the rmdir command will throw error.
[email protected]:~/practice_delete$ rmdir dir2 rmdir: failed to remove 'dir2': Directory not empty
And that makes it less useful in most cases. So, how do you delete a non-empty folder then? Well, you use the same rm command that you used earlier for removing files. Yes, the same rm command but with the recursive option -r :
🏋️Exercise folder deletion
Let’s practice what you learned. Switch to practice_delete folder if you are not already there. Now, create two directories dir1 and dir2.
Since the dir2 is not empty, rmdir command will fail. Instead, use the rm command with recursive option:
Here’s a replay of all the above command examples to help you out:
The interactive deletion mode is even more helpful while deleting a directory with the recursive option of the rm command: rm-ri dir_name
So, you learned to delete files and folders both using Linux commands. It’s time to practice some more.
Test your knowledge
. ├── dir1 │ ├── file1 │ ├── file2 │ └── file3 ├── dir2 ├── dir3 └── file
- Delete file2 .
- Switch to the dir3 and force delete the file named file in the upper directory.
- Delete all the contents of dir1 but not the directory itself.
- List the contents of the dir .
I encourage you to discuss the practice questions in the It’s FOSS community forum.
This is going good. You have learned several basic things like switching directories, checking contents of directory, creating and deleting files and directories. In the next chapter, you’ll learn about copying files and folders in the terminal. Stay tuned!