This comprehensive Linux guide expects that you run the following commands as root user but if you decide to run the commands as a different user then ensure that the user hassudo
access and that you precede each of the privileged commands withsudo
In this tutorial, we will show you how to delete Files and Directories using Command Line/Terminal in Linux. We will use rm
command to delete files and directories. The rm
command (short for remove) is a Linux command which is used to delete files from a file system.
Deleting Files
Caution:
Be extra careful when removing files with the rm
command, because once the file is deleted it cannot be recovered.
In this tutorial, we are using commands with examples. So, replace the “path” with the file path, “filename” with the name of the file and “.ext” with the extension of the file.
Deleting a Single File
To delete a single file, run the command like this:
[email protected]:~$ rm /path/filename.ext
If the file you are trying to delete is write-protected, you will be prompted with a warning that whether you want to delete the file or not. Type y
and press Enter
to delete the file.
Deleting Multiple Files
To delete more than one files, run the command like this:
[email protected]:~$ rm filename1.ext filename2.ext filename3.ext
Deleting All Files Having a Specific Extension
To delete all the files with the specific extension, run the command like this:
[email protected]:~$ rm /path/*.ext
All files having the extension “ext” will be deleted.
Confirming Before Deletion Of Files
To be extra careful while deleting the files, we use -i
option with the rm
command. -i
stands for “Inquire”, when it is used, you will be asked to confirm with yes/no before deleting the file. For this, run the command like this:
[email protected]:~$ rm -i /path/filename.ext
This option can also be used while deleting multiple files or deleting files with specific extension as described above.
Force Deletion (Deleting Without Any Prompt)
To avoid any prompt while deleting files, we use -f
option with the rm
command. -f
stands for “Force”, when this command is used to make the deletion process quick. This will avoid any prompt even if the files are write-protected. For this, run the command like this:
[email protected]:~$ rm -f /path/filename.ext
This option can also be used while deleting multiple files or deleting files with specific extension as described above.
Deleting Files With Report After Deletion
To get a report of the deleted file after the deletion, we use -v
option with the rm
command. -v
stands for “Verbose”, when this option is used, You will get a report after the deletion. For this, run the command like this:
[email protected]:~$ rm -v /path/filename.ext
Output:
removed '/path/filename.ext'
This option can also be used while deleting multiple files or deleting files with specific extension as described above.
Combining Different Options
You can combine the above described options with the rm
command.
[email protected]:~$ rm -fv /path/filename.ext
Deleting Files Starting With A Same String
If you want to delete some files having names starting with the same string, e.g. log1 log2 log3 log4 , you can use rm
command like below:
[email protected]:~$ rm -f log{1..5}.ext
Deleting Files Without Knowing The Extension
If you don’t know the extension of the file, or there are different files with the same name but different extensions. You can delete them by using the rm
command as below:
[email protected]:~$ rm -i /path/filename.*
This command will delete all the files having the name “filename” regardless of the extension.
Deleting Large Number Files
If your are trying to delete large number of files using rm command then you will get an error message ‘Argument list too long’
[email protected]:~$ rm *.txt
-bash: /bin/rm: Argument list too long
To solve this issue, you can use the command given below:
[email protected]:~$ find ~/path/ -type f -exec rm {} \;
Deleting Files Having Names Starting With Hyphen Symbol (-)
If you try to delete a file having name that starts with a hyphen symbol (-), e.g. -log.txt, you will get an error.
[email protected]:~$ rm -log.txt
rm: invalid option -- 'l'
To avoid this error, you can use the command below:
[email protected]:~$ rm ./\ -log.txt
OR
[email protected]:~$ rm -- \ -log.txt
Deleting Directories
To remove/delete the directories (folders) using the rm command, you can follow the instructions given below.
In this tutorial, we are using commands with examples. So, replace the “path” with the file path, “directoryName” with the name of the Directory.
Deleting An Empty Directory
To delete an empty directory using rm
command, run the command like this:
[email protected]:~$ rm -d /path/directoryName
Deleting Non-Empty Directory
To delete a non-empty directory, you can run the command with the option -r. It stands for “Recursive”, it deletes all the sub-directories and files recursively.
[email protected]:~$ rm -r /path/directoryName
Deleting Multiple Directories
Just like Deleting multiple files, you can delete multiple directories as well.
[email protected]:~$ rm -r directoryName1 directoryName2 directoryName
Deleting Directory without Prompt
To delete a directory without having any prompt, we can use the option -f
with the option -r
.
[email protected]:~$ rm -rf /path/directoryName