Linux provides different commands in order to remove or delete directories and files. But in some cases, this may not work as expected and we can get a message like rmdir: 'dir' Directory no empty
which simply means when we try to delete a directory with rmdir
command it is not completed. In this tutorial, we will learn how to remove and delete an empty or full directory.
Remove with rm -Rf Command
The most used command to delete a directory with its content is rm
command. But rm
command is not enough without options -Rf
. This will force the deletion of given directories in a recursive manner. In this example, we will delete the directory named backup
$ rm -Rf backup
Remove with Verbose Information
Deleting directory with its children will not provide verbose information by default. But we can print detailed information about the operation with the verbose option -v
like below.
$ rm -Rf -v backup

Confirm Before Removin/Deleting Directory
If we will delete directories those contain some sensitive ones we may need to confirm before deleting them. We can use -i
option which will ask for a removal for confirmation. In this example, we will delete the directory named poftut1
which is not empty. For each directory and files inside poftut1 the remove directory FILE or DIRECTORY NAME will be asked to use. In order to approve, we can enter y
or yes
to deny we can use empty answer which is just enter or n
or no
.
$ rm -r -i poftut1

Remove/Delete Multiple Directories At Once
We may want to remove multiple directories with a single rm
command. We do not have to run rm
command multiple times for different directory names. We can provide all directories we want to remove in a single rm
command. We can also provide the path of the directory like /mnt/test
etc.
$ rm -rf -v Templates poftut1/Case poftut1/Database /home/ismail/SocialFish/

Remove/Delete with Root Privileges
In order to delete a file or directory, we need privileges. If the directory is owned by the root user and we are not we can not delete the directory. So we need to get root privileges with sudo
command like below.
$ sudo rm -Rf backup
Remove with Python
We can also use some python script or commands in order to delete a directory please look following example where we will use os
module remove()
function.
How To Delete and Remove File and Directory with Python?
import os
os.remove("/home/ismail/trash")
Remove/Delete Directory with find Command
find
command is a command used to search and find different types of files and directories the specified path. Find command provides different useful features like regular expression search, extension search or file attribute search, etc. We can also use the find command in order to delete or remove specified directories. We will use the -exec
feature of the find command which will run given command for the matched files and folders. We will match the directory type with the -type d
option and provide the name or name pattern with the -name '*cache'
.
$ find /var -type d -name '*cache*' -exec rm -r {} +
We can also use the -delete
option of the find command which will automatically delete matched files and folders. In the following example we will directly delete the
$ find /home/ismail -type d -delete
Remove/Delete Directory with File Manager
Linux and Linux Desktop Enviroments provides different file managers which is used for different operations like add, remove, change files and directories. We can also use file manager in order to remove or delete directory. We will just right-click t the folder or directory we want to delete and find the item like Move to Trash
, Delete
, Remove
, Send to Trash
etc. and click.
