How to Delete Files and Folders in Linux
December 12, 2022
This guide is part of the “Linux Commands” series. This series is focused on providing an in-depth overview of Linux commands and tools, in an easy-to-follow manner!
How to Remove a Directory in Linux
To remove a directory in Linux, use the
rm command with the
-r option for recursive removal. For example, to remove a directory named
mydir, you would use the following command:
rm -r mydir
This will remove the directory and any files or subdirectories it contains. Be careful with this command, as it cannot be undone. If you want to remove a directory but keep its contents, you can use the
mv command to move it to a different location or rename it.
Note: If the directory is not empty, you may need to use the
sudo command to permit yourself to delete it.
sudo rm -r mydir
rm command has several options you can use it with; here are the most common ones:
|-f||Force removal of files without prompting for confirmation|
|-i||Prompt for confirmation before removing each file|
|-I||Prompt for confirmation, but only once, before removing more than three files, or when removing recursively|
|-r||Recursively remove directories and their contents|
|-d||Remove empty directories|
|-v||Verbose output, showing each file as it is removed|
|--help||Show a help message and exit|
|--preserve-root||Do not remove |
|--dir||Remove directories, even if they are non-empty (use with |
|--one-file-system||When removing a hierarchy recursively, skip any directory that is on a file system different from that of the corresponding command line argument|
Note that these options can be combined, so for example, you could use
rm -rf to force removal of files and directories without prompting for confirmation. However, this is generally not recommended, as it can lead to accidental data loss. It's always a good idea to use the
-i option to confirm each file before removing it.
And lastly, these options may vary depending on the version of Linux you are using. You can always use the
--help option to see a complete list of options for your version of the
How to Remove an Empty Directory
When you delete a file or directory in Linux, it is permanently deleted and cannot be recovered unless you have a backup. The
rmdir command allows you to remove empty directories in a safe and controlled manner, without the risk of accidentally deleting important files or directories.
rmdir command is particularly useful if you want to clean up your file system by removing empty directories that are no longer needed.
If the directory is not empty, you will get an error message telling you that the directory is not empty and that the
rmdir command can only be used on empty directories.
rmdir command has a few options that you can use to modify its behavior.
Some of the most common options include:
-p: This option allows you to remove a directory and any of its empty parent directories. This can be useful if you have a series of empty directories that you want to remove all at once.
-v: This option makes the
rmdircommand more verbose, meaning that it will print additional information to the command prompt as it runs. This can be useful if you want to see what the command is doing as it executes.
-ignore-fail-on-non-empty: This option tells the
rmdircommand to ignore any errors that occur if the directory is not empty. This can be useful if you want to try to remove a directory and its contents even if it is not empty.
How to Delete Files
rm command is universal regarding removals, so it works for directories and individual files. Always use the
-i option so that you get prompted before a file gets deleted, and ideally - when doing large-scale removals, make a backup, so you don't end up without any files at all!
To delete a file with the
rm command, you would use the following syntax:
# remove a file without a prompt rm myfile.txt # remove a file and have the system ask you to confirm rm -i myfile.txt
You can also do this for specific file extensions:
# delete all .txt files in the current directory rm *.txt # delete all .jpg files in the current directory rm *.pdf # delete all files that start with a word rm prefix* # this would delete all files starting with the word 'prefix'
The Linux command line offers a variety of tools for managing files and directories. One such tool is the
rm command, which can be used to delete both files and non-empty directories. To delete empty directories, you can use the
It's important to note that, unlike in some other operating systems, there is no recycle bin or trash folder in Linux.
Once you delete a file or directory using these commands, it is permanently deleted, so it's important to use them carefully or to create backups of any important files.