![]() Example of rmdir | |
Original author(s) | Ken Thompson,Dennis Ritchie (AT&T Bell Laboratories) |
---|---|
Developer(s) | Variousopen-source andcommercial developers |
Operating system | Unix,Unix-like,DOS,MSX-DOS,FlexOS,OS/2,Windows,ReactOS,KolibriOS |
Platform | Cross-platform |
Type | Command |
In computing,rmdir
(orrd
) is acommand which will remove an emptydirectory on variousoperating systems.
The command is available inUnix (e.g.macOS,Solaris,AIX,HP-UX),Unix-like (e.g.FreeBSD,Linux),DOS,Digital ResearchFlexOS,[1]IBMOS/2,[2]Microsoft Windows[3] orReactOS[4] operating systems. OnMS-DOS, the command is available in versions 2 and later.[5]DR DOS 6.0 also includes an implementation of thermdir
command.[6]
It is also available in theopen source MS-DOSemulatorDOSBox and inKolibriOS.[7] Thenumerical computing environmentsMATLAB andGNU Octave include anrmdir
function with similar functionality.[8][9]
Normal usage is straightforward:
$rmdirname_of_directory
where name_of_directory corresponds with the name of the directory one wishes to delete. There are options to this command such as-p in Unix which removes parent directories if they are also empty.
For example:
$rmdir-pfoo/bar/baz
will first remove baz/, then bar/ and finally foo/ thus removing the entire directory tree specified in the command argument.
rmdir will not remove a directory if it is not empty in UNIX. Therm
command will remove a directory and all its contents recursively. For example:
$rm-rfoo/bar/baz$rm-rffoo/bar/baz
rmdir
commandNormal usage is identical to Unix-like operating systems:
>rmdir name_of_directory
The equivalent command inMS-DOS and earlier (non-NT-based) versions of Microsoft Windows for deleting non-empty directories isdeltree
.
In later version of Windows:
>rd /s directory_name
Windows based on theNT kernel (XP, Vista, 7, 8, Server 2003/2008) arecase insensitive, just like their earlier predecessors, unless two files of the same name and different case exist. Then case sensitivity applies when selecting which file to use, or if the case does not match either file, one may be chosen by Windows.
Having two files named the same with different case sensitivity is allowed either whenWindows Services for Unix is installed or when theWindows Registry settings are set to allow it.
An example of the security risk is:
Using rd/rmdir and two directories with the same name and different case sensitivities exist, one of which contains valid data and/or programs, and the other contains incriminating materials and/ormalware. If rd/rmdir gets executed without regard to case sensitivity and Windows chooses the legitimate folder to delete, the only folder left is the undesired one. Windows then uses this folder instead of the previously legitimate one to execute programs, and one may be led to believe it contains legitimate data.
rmdir
– Shell and Utilities Reference,The Single UNIX Specification, Version 4 fromThe Open Group