OSETC TECH

How to Delete a Directory in Linux

This post will guide you how to remove a directory from the command line using rm or rmdir command in your Linux system. How do I delete a directory and all its subdirectories under CetnOS or RHEL Linux operating system.

Rm Command


rm removes each specified file. By default, it does not remove directories.

The syntax of the rm command is as follows:

rm [OPTION]... [FILE]...

Options:

-f, --force ignore nonexistent files and arguments, never prompt
-i prompt before every removal
-r, -R, --recursive remove directories and their contents recursively
-d, --dir remove empty directories

Rmdir Command


Rmdir command can be used to remove the DIRECTORY(ies), if they are empty.

The syntax of the Rmdir command is as follows:

rmdir [OPTION]... DIRECTORY...

Options:

-p, --parents remove DIRECTORY and its ancestors; e.g., ‘rmdir -p a/b/c’ is similar to ‘rmdir a/b/c a/b a’

Delete a Directory with Rmdir Command


if you want to delete a directory from the command line in your Linux system, and you can use rmdir command to remove it. And this command can only be used to remove a empty directory. and if the directory is not empty, and you will get a warning message to prompt your that the directory is not empty. see below:

[devops@mydevops ~]$ ls mydir
myfile1 myfile2 myfile3 myfile4
[devops@mydevops ~]$ rmdir mydir/
rmdir: failed to remove 'mydir/': Directory not empty

If you want to delete a empty directory called myempytdir under root direcotry, and you can type the following command to delete it, type:

$ rmdir /root/myemptydir

Delete a Directory with Rm Command


If you want to delete a non-empty diretory or you want to delete a particular directory and its all subdirectories and files, and you can use the rm command with “-rf” options.

For example, you wish to delete all files and subdirectories under /tmp directory, and you can type the following command:

$ rm -rf /tmp/*

If you want to get more help about those commands, you can run the following commands:

$ man rm
$ man rmdir
$ rmdir --help
$ rm --help

Outputs:

[devops@mydevops ~]$ rm --help
Usage: rm [OPTION]... [FILE]...
Remove (unlink) the FILE(s).

-f, --force ignore nonexistent files and arguments, never prompt
-i prompt before every removal
-I prompt once before removing more than three files, or
when removing recursively; less intrusive than -i,
while still giving protection against most mistakes
--interactive[=WHEN] prompt according to WHEN: never, once (-I), or
always (-i); without WHEN, prompt always
--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
--no-preserve-root do not treat '/' specially
--preserve-root[=all] do not remove '/' (default);
with 'all', reject any command line argument
on a separate device from its parent
-r, -R, --recursive remove directories and their contents recursively
-d, --dir remove empty directories
-v, --verbose explain what is being done
--help display this help and exit
--version output version information and exit

By default, rm does not remove directories. Use the --recursive (-r or -R)
option to remove each listed directory, too, along with all of its contents.

To remove a file whose name starts with a '-', for example '-foo',
use one of these commands:
rm -- -foo

rm ./-foo

Note that if you use rm to remove a file, it might be possible to recover
some of its contents, given sufficient expertise and/or time. For greater
assurance that the contents are truly unrecoverable, consider using shred.

Conclusion


You should know that how to delte a direcotry and its all contents using rm command in your CentOS/RHEL/Ubuntu Linux.