Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

RMDIR(2)                    BSD System Calls Manual                   RMDIR(2)

     rmdir -- remove a directory file

     #include <unistd.h>

     rmdir(const char *path);

     Rmdir() removes a directory file whose name is given by path.  The directory must not have any entries
     other than `.' and `..'.

     A 0 is returned if the remove succeeds; otherwise a -1 is returned and an error code is stored in the
     global location errno.

     The named file is removed unless:

     [EACCES]           Search permission is denied for a component of the path prefix.

     [EACCES]           Write permission is denied on the directory containing the link to be removed.

     [EBUSY]            The directory to be removed is the mount point for a mounted file system.

     [EFAULT]           Path points outside the process's allocated address space.

     [EIO]              An I/O error occurs while deleting the directory entry or deallocating the inode.

     [ELOOP]            Too many symbolic links are encountered in translating the pathname.  This is taken
                        to be indicative of a looping symbolic link.

     [ENAMETOOLONG]     A component of a pathname (possibly expanded by a symbolic link) exceeds {NAME_MAX}
                        characters, or an entire path name exceeded {PATH_MAX} characters.

     [ENOENT]           The named directory does not exist.

     [ENOTDIR]          A component of the path is not a directory.

     [ENOTEMPTY]        The named directory contains files other than `.' and `..' in it.

     [EPERM]            The directory containing the directory to be removed is marked sticky, and neither
                        the containing directory nor the directory to be removed are owned by the effective
                        user ID.

     [EROFS]            The directory entry to be removed resides on a read-only file system.

     mkdir(2), unlink(2)

     The rmdir() function call appeared in 4.2BSD.

4.2 Berkeley Distribution        June 4, 1993        4.2 Berkeley Distribution

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.