RMDIR(2)

이름
rmdir - 디렉토리 삭제.

사용법
#include <unistd.h>

int rmdir(const char *pathname);

설명
rmdir 는 디렉토리(꼭 비어 있어야만한다.)를 삭제한다.

반환값
성공시, 0을 반환하고, 실패시, -1을 반환하고, errno를 적절히 설정한다.

에러

EPERM
    pathname을 포함한 파일 시스템이 디렉토리 삭제를 지원하지 않는다.

EFAULT
    pathname 접근 할수 있는 주소공간이 아니다.

EACCES
    pathname을 포함한 디렉토리의 쓰기 접근이 프로세스 유효 uid때문에 허락되지 않거나, pathname의 디렉토리중 하나가 실행 권한이 없다.

EPERM
    pathname을 포함하는 디렉토리가 ( S_ISVTX ) 스티키 비트를 가지고 있고, 프로세스의 유효 uid가 삭제할 수 있는 파일의 uid가 아니거나 그런 파일을 포함하는 디렉토리이다.

ENAMETOOLONG
    pathname 이 너무 길다.

ENOENT
    pathname의 디렉토리가 없거나 링크가 깨졌다.

ENOTDIR
    pathname, 이나 pathname 의 디렉토리가 사실 디렉토리가 아니다.

ENOTEMPTY
    pathname 이 . and .. . 을 포함하지 않는다.

EBUSY
    pathname 이 현재 작업중인 디렉토리이거나 몇몇 프로세스의 root디렉토리이다.

ENOMEM
    커널메모리가 부족하다.

EROFS
    pathname 이 read-only filesystem상의 파일이다.

ELOOP
    pathname 의 링크가 너무 많다.

호환
SVr4, SVID, POSIX, BSD 4.3

버그
NFS프로토콜의 부적적한 표현은 현재 쓰고 있는 디렉토리의 기대하지 않은 소실을 야기 할 수 있다.

관련 항목
rename(2), mkdir(2), chdir(2), unlink(2), rmdir(1), rm(1)

역자
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 29