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.