Difference On How To Delete A Directory In Linux Using RM And RMDIR

Linux RM And RMDIR

For Linux users and system administrators, learning to utilize the Linux command line is a must. It allows you to perform basic maintenance operations like creating new files, going to specific folders, relocating existing ones, and how to delete a directory in Linux. Deleting a folder or directory using GUI, like in Windows 10 or 11, in Linux is a straightforward process.

However, you can also remove directories using SSH terminal commands if you don’t have access to the GUI. And that is what we will cover in this article.

Before You Start The Linux Remove Directory and Contents Commands

Before jumping and executing the Linux delete folder command lines, you must ask yourself the questions below.

  • Do I need to run a Linux delete directory and contents on the server?
  • Do I have the privilege to delete files and directories from the Linux server – or at least sudo access?
  • Does the Linux server allow SSH connection so that I can connect using a terminal application tool such as puTTY?
  • If I execute a Linux delete folder, will it affect other users who probably own those files or directories? Or are there any dependencies from other applications that may have an impact later on?
  • Do I need to delete the entire directory/folder or only the files inside?

You must know these things first before you execute the Linux delete command. Because if you accidentally remove or delete a file, recovering them can be tedious, and worst, it is impossible.

Understanding The Linux Commands In To Delete A Directory

You can delete a directory from the terminal window or command line using one of two Linux commands:

  • Using rm removes whole directories, together with their subdirectories and files.
  • You can use the rmdir command to delete an empty directory.

It is important to note that the rm and rmdir command permanently remove directories without moving them to the Trash directory. In other words, what this means is that you cannot restore a folder removed using these commands. 

Although it is not impossible to restore deleted files or directories, it can be tedious for non-advance Linux users. We can discuss how you can restore files or folders if you accidentally deleted them.

Different Linux Delete Directory and Contents Commands

First, you should know the name of the directory before deleting it. You can use the ls command to find files and directories. Then Linux command pwd can let you know your current working directory. Lastly, you can use the command tree to show the directory hierarchy.

Here are some Linux delete directory command combinations you can use depending on your needs.

Linux CommandsWhat does the command do?
rm -d <directory>This will delete or remove an empty directory.
rm -r <directory>This command will delete/remove directories and their contents recursively but will fail on write-protected folders/files.
rm -f <directory>The -f means “force” and it will not prompt you about the files or directories it will delete.
rm -rf <directory>Combining the -r and -f options will mean that command will delete/remove directories and their contents recursively and ignore any prompts.
rm -I <file or wildcards>This will ONLY remove files and will prompt the user before deletion if the files are more than 3.
rm -i <file or wildcards>Unlike the “-I” option, this parameter makes the deletion interactive because it will prompt the user for every file to delete.
rmdir -p <directory path>Will delete the empty directory and its ancestor or subsequent sub-directories. For example, you have a parent directory, directory2 and inside it is another directory called subdir2_1. To delete, the command is rmdir -p directory2/subdir2_1/
rmdir -v <directory>Will verbosely delete the empty directory. This means the user will see what is being deleted.

Concluding Words

Now that you know the command to remove a directory in Linux, you can confidently manage your server.

Linux command-line deletion of directories and files requires knowledge of how to use the rm and rmdir commands. Remember the rule of thumb, the rm command removes files and non-empty directories. Whereas the rmdir command only removes empty folders.

It is worth remembering that Linux does not have a recycle bin or garbage folder. Using the command line, deleting files and folders will result in their permanent deletion. Therefore, before deleting the files and folders on your server, use these commands cautiously or make a backup.