If you’re looking for a way to remove a directory in Linux permanently, you may want to know how to remove files and subdirectories. Centos or Ubuntu has powerful linux commands that allow you to perform this operation easily. While some people prefer to use the GUI, others prefer the terminal. These people may be working on a server that doesn’t have a GUI installed, remote sessions, or headless systems.
So, How to Remove a File or Directory in Linux? This guide outlines the steps required to remove a file or directory from your computer or server. To perform this task, use the rm command. If you do not specify the -r flag, rm will remove all the files and folders in the directory. It also has a -f option for overriding the prompt. as we can see, a lot of details need to be explained, so let’s go step by step!
Remove Directory in Linux using rmdir command
If you want to delete a directory permanently, you can use the rmdir command. This command will remove any directory, including empty ones, from your system. To use this command, you need to know what directory you are removing. You can use -i to check the contents of a directory before deleting it. This will help you make sure that you want to delete a particular file or folder.
So, let’s go by typing the command: rmdir followed by the directory’s name you wish to remove. for Example Type rmdir command to remove dir1:
rmdir dir1
if the directory isn’t empty, The following error will be shown:
rmdir: failed to remove 'dir1': No such file or directory
You will have to either use the rm
command, or manually delete the directory contents in this case before you can delete them.
Removing Directories using rm command

Removing Directories using the rm command can help you remove files and directories in the current working directory. This command removes files and directories with the same extension. The command removes all files and directories when used without a -name option. The rm command displays an informative message if the files or directories do not exist.
When you use rm without any option , rm
will not remove directories by default. So there are many rm options where you can delete an empty directory just by using the -d option (–dir), a non-empty directory, and all of its contents with the -r option (–recursive, -R).
To delete dir1 and all its contents, you would type:
rm -r dir1
You will be asked to confirm the deletion if the file or directory is write protected. You can remove a directory from the system without being asked. Use the -f option
rm -rf dir1
Invoke the rm command to remove multiple directories at the same time. Follow this with the names of each directory separated by spaces. These linux commands will remove all directories and their contents.
rm -r dir1 dir2 dir3
The -i option instructs rm that it will prompt you to confirm each file and subdirectory deletion. This can be annoying if the directory contains many files. You might consider the -i option, which will prompt you once before proceeding with deletion.
rm -rI dir1
To delete the directory, type y, hit Enter.
rm: remove 1 argument recursively? y
Regular expansions can be used to match or delete multiple directories. To remove all directories at the top of the directory that ends in _bak you can use the following command:
rm -r *_bak
Regular expansions may pose a risk when removing directories. First, it is a good idea to list all directories using the ls command. This will allow you to see which directories will be deleted before running the rm command.
Delete Directories with the Find command

Delete Directories with Find is a command that can be used in many ways. For example, you can use it to delete empty directories and files. You can also use it to delete files and directories that are modified more than x days. The following example shows how to use it. But you should only use it when you need to remove large amounts of data. For smaller files, however, it may be a good option.
The find command is the best choice to delete directories based on a particular pattern. To delete directories that start with _cache from the current directory, you can run:
find . -type d -name '*_cache' -exec rm -r {} +
For now, let’s examine the command:
/dir
– recursively search in the current working directory (.
).-type d
– restricts the search to directories.-name '*_cache'
– search only directories that end with_cache
-exec
– executes an external command with optional arguments, in this case, that isrm -r
.{} +
– appends the found files to the end of therm
command- Remove All empty directories
You would use the following command to remove empty directories from a directory tree:
find /dir -type d -empty -delete
This is a brief explanation of the options available:
/dir - recursively search in the /dir directory.
-type d - restricts the search to directories.
-empty - restricts the search only to empty directories.
-delete
- deletes all found empty directories in the subtree. -delete can delete only empty directories.
You should use the –delete
option with caution. The find command line evaluates as an expression. The command will delete all items below the specified starting points if you add the option before.
Always test the command without the -delete
option, and then use -delete
as the last option.
/bin/rm – Argument list too long error
This error message is displayed when you use rm to delete a large number of files from a directory. This is because the command line argument’s limit for file size exceeds the system limit.
This problem can be solved in several ways. You can cd into the directory or manually use a loop to remove each sub-directory one by one.
First, delete all files in the directory using the find command. Then delete the entire directory.
find /dir -type f -delete && rm -r /dir
Conclusion
A desktop file manager can remove a directory, but it is moved to the Trash, and it can then be easily recovered.
You should be extra cautious when removing files and directories from the command line because once the directory has been deleted using the commands described in this article, it cannot be fully restored.
Most Linux filesystems require to write permission to delete a directory. You will receive an “Operation forbidden” error.
You will have to either use the rm command or manually delete the directory contents in this case before you can delete them.
A directory name with a space must be separated by a backslash ( /
).
rm or find allows you to quickly and efficiently delete directories based on different criteria.
It is easy to delete directories, but it is essential not to lose any sensitive data.
Feel free to comment if you have any feedback or questions.