Developer's Daily | Unix by Example |
main | java | perl | unix | dev directory | web log |
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) |