GNU/Linux |
RedHat 9.0(Shrike) |
|
![]() |
rmdir(2) |
![]() |
rmdir − delete a directory
#include <unistd.h>
int rmdir(const char *pathname);
rmdir deletes a directory, which must be empty.
On success, zero is returned. On error, −1 is returned, and errno is set appropriately.
EPERM |
The filesystem containing pathname does not support the removal of directories. | ||
EFAULT |
pathname points outside your accessible address space. | ||
EACCES |
Write access to the directory containing pathname was not allowed for the process’s effective uid, or one of the directories in pathname did not allow search (execute) permission. | ||
EPERM |
The directory containing pathname has the sticky-bit (S_ISVTX) set and the process’s effective uid is neither the uid of the file to be deleted nor that of the directory containing it. |
ENAMETOOLONG
pathname was too long.
ENOENT |
A directory component in pathname does not exist or is a dangling symbolic link. |
ENOTDIR
pathname, or a component used as a directory in pathname, is not, in fact, a directory.
ENOTEMPTY
pathname contains entries other than . and .. .
EBUSY |
pathname is the current working directory or root directory of some process. | ||
ENOMEM |
Insufficient kernel memory was available. | ||
EROFS |
pathname refers to a file on a read-only filesystem. | ||
ELOOP |
Too many symbolic links were encountered in resolving pathname. |
SVr4, SVID, POSIX, BSD 4.3
Infelicities in the protocol underlying NFS can cause the unexpected disappearance of directories which are still being used.
rename(2), mkdir(2), chdir(2), unlink(2), rmdir(1), rm(1)
![]() |
rmdir(2) | ![]() |