# rmdir

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           rmdir — remove directories
    


## SYNOPSIS



           rmdir **[** -p**]**_dir_...
    


## DESCRIPTION



           The _rmdir_ utility shall remove the directory entry specified by
           each _dir_ operand.
    
           For each _dir_ operand, the _rmdir_ utility shall perform actions
           equivalent to the _rmdir_() function called with the _dir_ operand as
           its only argument.
    
           Directories shall be processed in the order specified. If a
           directory and a subdirectory of that directory are specified in a
           single invocation of the _rmdir_ utility, the application shall
           specify the subdirectory before the parent directory so that the
           parent directory will be empty when the _rmdir_ utility tries to
           remove it.
    


## OPTIONS



           The _rmdir_ utility shall conform to the Base Definitions volume of
           POSIX.1‐2017, _Section 12.2_ , _Utility Syntax Guidelines_.
    
           The following option shall be supported:
    
           **-p** Remove all directories in a pathname. For each _dir_
                     operand:
    
                      1. The directory entry it names shall be removed.
    
                      2. If the _dir_ operand includes more than one pathname
                         component, effects equivalent to the following
                         command shall occur:
    
                             rmdir -p $(dirname _dir_)
    


## OPERANDS



           The following operand shall be supported:
    
           _dir_       A pathname of an empty directory to be removed.
    


## STDIN



           Not used.
    


## INPUT FILES



           None.
    


## ENVIRONMENT VARIABLES



           The following environment variables shall affect the execution of
           _rmdir_ :
    
           _LANG_      Provide a default value for the internationalization
                     variables that are unset or null. (See the Base
                     Definitions volume of POSIX.1‐2017, _Section 8.2_ ,
                     _Internationalization Variables_ for the precedence of
                     internationalization variables used to determine the
                     values of locale categories.)
    
           _LC_ALL_    If set to a non-empty string value, override the values
                     of all the other internationalization variables.
    
           _LC_CTYPE_  Determine the locale for the interpretation of sequences
                     of bytes of text data as characters (for example,
                     single-byte as opposed to multi-byte characters in
                     arguments).
    
           _LC_MESSAGES_
                     Determine the locale that should be used to affect the
                     format and contents of diagnostic messages written to
                     standard error.
    
           _NLSPATH_   Determine the location of message catalogs for the
                     processing of _LC_MESSAGES_.
    


## ASYNCHRONOUS EVENTS



           Default.
    


## STDOUT



           Not used.
    


## STDERR



           The standard error shall be used only for diagnostic messages.
    


## OUTPUT FILES



           None.
    


## EXTENDED DESCRIPTION



           None.
    


## EXIT STATUS



           The following exit values shall be returned:
    
            0    Each directory entry specified by a _dir_ operand was removed
                 successfully.
    
           >0    An error occurred.
    


## CONSEQUENCES OF ERRORS



           Default.
    
           _The following sections are informative._
    


## APPLICATION USAGE



           The definition of an empty directory is one that contains, at
           most, directory entries for dot and dot-dot.
    


## EXAMPLES



           If a directory **a** in the current directory is empty except it
           contains a directory **b** and **a/b** is empty except it contains a
           directory **c** :
    
               rmdir -p a/b/c
    
           removes all three directories.
    


## RATIONALE



           On historical System V systems, the **-p** option also caused a
           message to be written to the standard output. The message
           indicated whether the whole path was removed or whether part of
           the path remained for some reason. The STDERR section requires
           this diagnostic when the entire path specified by a _dir_ operand is
           not removed, but does not allow the status message reporting
           success to be written as a diagnostic.
    
           The _rmdir_ utility on System V also included a **-s** option that
           suppressed the informational message output by the **-p** option. This
           option has been omitted because the informational message is not
           specified by this volume of POSIX.1‐2017.
    


## FUTURE DIRECTIONS



           None.
    


* * *