rmdir(2)


NAME

   rmdir - delete a directory

SYNOPSIS

   #include <unistd.h>

   int rmdir(const char *pathname);

DESCRIPTION

   rmdir() deletes a directory, which must be empty.

RETURN VALUE

   On  success,  zero is returned.  On error, -1 is returned, and errno is
   set appropriately.

ERRORS

   EACCES Write access  to  the  directory  containing  pathname  was  not
          allowed,  or  one  of  the  directories  in  the  path prefix of
          pathname  did  not   allow   search   permission.    (See   also
          path_resolution(7).

   EBUSY  pathname  is currently in use by the system or some process that
          prevents  its  removal.   On  Linux,  this  means  pathname   is
          currently  used as a mount point or is the root directory of the
          calling process.

   EFAULT pathname points outside your accessible address space.

   EINVAL pathname has .  as last component.

   ELOOP  Too many symbolic links were encountered in resolving pathname.

   ENAMETOOLONG
          pathname was too long.

   ENOENT A directory component  in  pathname  does  not  exist  or  is  a
          dangling symbolic link.

   ENOMEM Insufficient kernel memory was available.

   ENOTDIR
          pathname,  or  a  component  used as a directory in pathname, is
          not, in fact, a directory.

   ENOTEMPTY
          pathname contains entries other than . and .. ; or, pathname has
          ..  as its final component.  POSIX.1 also allows EEXIST for this
          condition.

   EPERM  The directory containing pathname has the sticky  bit  (S_ISVTX)
          set  and  the process's effective user ID is neither the user ID
          of the file to be deleted nor that of the  directory  containing
          it,  and the process is not privileged (Linux: does not have the
          CAP_FOWNER capability).

   EPERM  The filesystem containing pathname does not support the  removal
          of directories.

   EROFS  pathname refers to a directory on a read-only filesystem.

CONFORMING TO

   POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

BUGS

   Infelicities  in  the  protocol underlying NFS can cause the unexpected
   disappearance of directories which are still being used.

SEE ALSO

   rm(1), rmdir(1), chdir(2), chmod(2),  mkdir(2),  rename(2),  unlink(2),
   unlinkat(2)

COLOPHON

   This  page  is  part of release 4.09 of the Linux man-pages project.  A
   description of the project, information about reporting bugs,  and  the
   latest     version     of     this    page,    can    be    found    at
   https://www.kernel.org/doc/man-pages/.


More Linux Commands

manpages/glMultMatrix.3gl.html
glMultMatrix(3gl) - multiply the current matrix with the spe
glMultMatrix multiplies the current matrix with the one specified using m, and replaces the current matrix with the product. The current matrix is determined by

manpages/XGetICValues.3.html
XGetICValues(3) - set and obtain XIC values - Linux man page
The XSetICValues function returns NULL if no error occurred; otherwise, it returns the name of the first argument that could not be set. An argument might not b

manpages/rpmsign.8.html
rpmsign(8) - RPM Package Signing (Admin - Linux man page)...
Both of the --addsign and --resign options generate and insert new signatures for each package PACKAGE_FILE given, replacing any existing signatures. There are

manpages/Tcl_ReapDetachedProcs.3.html
Tcl_ReapDetachedProcs(3) - manage child processes in backgro
Tcl_DetachPids and Tcl_ReapDetachedProcs provide a mechanism for managing subprocesses that are running in background. These procedures are needed because the p

manpages/uuid_generate_time_safe.3.html
uuid_generate_time_safe(3) - create a new unique UUID value
The uuid_generate function creates a new universally unique identifier (UUID). The uuid will be generated based on high-quality randomness from /dev/urandom, if

manpages/XGetImage.3.html
XGetImage(3) - transfer images (Library - Linux man page)...
The XPutImage function combines an image with a rectangle of the specified drawable. The section of the image defined by the src_x, src_y, width, and height arg

manpages/load.n.html
load(n) - Load machine code and initialize new commands.....
This command loads binary code from a file into the applications address space and calls an initialization procedure in the package to incorporate it into an in

manpages/set_menu_opts.3menu.html
set_menu_opts(3menu) - set and get menu options (Man Page)
The function set_menu_opts sets all the given menus option bits (menu option bits may be logically-ORed together). The function menu_opts_on turns on the given

manpages/Tcl_GetAliasObj.3.html
Tcl_GetAliasObj(3) - manage multiple Tcl interpreters, alias
These procedures are intended for access to the multiple interpreter facility from inside C programs. They enable managing multiple interpreters in a hierarchic

manpages/itclwidget.n.html
itclwidget(n) create a widget class of objects (Man Page)...
One of the fundamental constructs in [incr Tcl] is the widget definition. A widget is like a class with some additional features. Each widget acts as a template

manpages/glLoadMatrixf.3gl.html
glLoadMatrixf(3gl) - replace the current matrix with the spe
glLoadMatrix replaces the current matrix with the one whose elements are specified by m. The current matrix is the projection matrix, modelview matrix, or textu

manpages/Tcl_ParseVarName.3.html
Tcl_ParseVarName(3) - parse Tcl scripts and expressions.....
These procedures parse Tcl commands or portions of Tcl commands such as expressions or references to variables. Each procedure takes a pointer to a script (or p





We can't live, work or learn in freedom unless the software we use is free.