RMDIR(2)

명칭
rmdir - 디렉토리 파일을 삭제한다

프로그램 라이브러리
libc

서식
<unistd.h> int rmdir(const char *path)

해설
rmdir() (은)는, 이름이 path 그리고 지정되는 디렉토리 파일을 삭제합니다. 디렉토리에는 ‘.’ (와)과 ‘..’ 이외의 엔트리가 있어 되지 않습니다.

반환값

에러
다음의 경우를 제외해, 지정된 파일이 삭제됩니다.

[ENOTDIR]
    패스의 원가요소중에 디렉토리 이외의 것이 포함되어 있습니다.

[ENAMETOOLONG]
    패스명의 원가요소가 255 캐릭터를 넘고 있는지, 또는 패스명 전체가 1023 캐릭터를 넘고 있습니다.

[ENOENT]
    지정된 디렉토리가 존재하지 않습니다.

[ELOOP]
    패스명을 변환할 경우에 검출된 기호 연결이 너무 많습니다.

[ENOTEMPTY]
    지정된 디렉토리에는 ‘.’ (와)과 ‘..’ 이외의 파일이 포함되어 있습니다.

[EACCES]
    지정된 패스에는, 검색이 허가되어 있지 않은 디렉토리가 포함되어 있습니다.

[EACCES]
    삭제하는 링크가 들어가 있는 디렉토리의 기록이 허가되고 있지 않습니다.

[EPERM]
    삭제하는 디렉토리가 들어가 있는 디렉토리는 스티키빗트가 설정되어 있어 삭제하고 싶은 디렉토리를 포함하고 있는 디렉토리 또는 삭제하는 디렉토리의 어느 쪽인지 혹은 양쪽 모두의 소유자가 실효 유저 ID 와는 다릅니다.

[EBUSY]
    삭제하려고 하고 있는 디렉토리는, 파일 시스템이 mount 되고 있는 마운트 포인트입니다.

[EIO]
    디렉토리 엔트리를 삭제하고 있는 동안, 또는 inode 의 할당을 해제하고 있는 동안에 입출력 에러가 발생했습니다.

[EROFS]
    삭제하는 디렉토리 엔트리는 읽기 전용 파일 시스템상에 있습니다.

[EFAULT]
    path (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.

관련 항목
mkdir(2), unlink(2)

역사
rmdir() 함수는 4.2BSD 그리고 등장했습니다.