Manpages

이 름

mkdir − 디 렉 토 리 를 만 든 다 .

사 용 법

#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>

int mkdir(const char *pathname, mode_t mode);

설 명

mkdirpathname이 라 는 이 름 의 디 렉 토 리 를 만 들 려 고 시 도 한 다 .

mode는 사 용 할 수 있 는 권 한 에 대 한 허 가 권 을 지 정 한 다 . 이 것 은 일 반 적 으 로 프 로 세 스 의 umask에 의 해 수 정 된 다 : 만 들 어 진 파 일 의 허 가 권 은 (mode & ~umask)이 다 . 새 롭 게 만 들 어 진 디 렉 토 리 는 프 로 세 스 의 유 효 (effective) uid의 소 유 이 다 . 만 일 파 일 을 포 함 하 는 디 렉 토 리 가 그 룹 id 비 트 가 설 정 되 어 있 거 나 , 파 일 시 스 템 이 BSD 그 룹 의 미 (semantics)로 마 운 트 되 어 있 다 면 , 새 디 렉 토 리 는 부 모 로 부 터 그 룹 소 유 권 을 상 속 받 는 다 : 그 렇 지 않 으 면 , 프 로 세 스 의 유 효 gid의 소 유 가 된 다 .

만 일 부 모 디 렉 토 리 가 그 룹 id 비 트 가 설 정 되 어 있 다 면 디 렉 토 리 는 새 롭 게 생 성 될 것 이 다 .

반 환 값

mkdir는 성 공 시 0을 반 환 한 다 . 에 러 가 발 생 하 면 −1을 반 환 한 다 ( errno는 적 당 한 값 으 로 설 정 된 다 .)

에 러

EEXIST

pathname가 이 미 존 재 한 다 .(반 드 시 디 렉 토 리 인 것 은 아 니 다 .)

EFAULT

pathname 접 근 할 수 있 는 주 소 공 간 이 외 를 가 리 키 고 있 다 .

EACCES

부 모 디 렉 토 리 가 프 로 세 스 에 게 쓰 기 허 가 권 을 허 락 하 지 않 았 거 나 , pathname안 에 있 는 디 렉 토 리 중 하 나 가 찾 기 (실 행 ) 허 가 권 이 없 다 .

ENAMETOOLONG

pathname이 너 무 길 다 .

ENOENT

pathname에 있 는 디 렉 토 리 요 소 가 존 재 하 지 않 거 나 또 는 심 볼 릭 링 크 이 다 .

ENOTDIR

pathname에 디 렉 토 리 로 서 사 용 한 요 소 가 사 실 은 디 렉 토 리 가 아 니 다 .

ENOMEM

이 용 할 수 있 는 커 널 메 모 리 가 충 분 하 지 않 다 .

EROFS

pathname은 읽 기 -전 용 파 일 시 스 템 에 있 는 파 일 을 가 리 키 고 있 다 .

ELOOP

너 무 많 은 심 볼 릭 링 크 를 pathname에 서 만 났 다 .

ENOSPC

pathname을 포 함 하 는 장 치 에 새 디 렉 토 리 를 위 한 공 간 이 없 다 .

ENOSPC

사 용 자 디 스 크 쿼 터 (quota)를 다 사 용 해 서 새 디 렉 토 리 를 만 들 수 없 다 .

호 환

SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 문 서 는 EIO, EMULTIHOP 그 리 고 ENOLINK 에 러 조 건 을 추 가 적 으 로 기 술 했 다 .; POSIX.1은 ELOOP을 생 략 했 다 .

NFS를 이 루 고 있 는 프 로 토 콜 에 서 몇 가 지 부 적 절 한 것 이 있 다 . 이 것 중 몇 몇 은 mkdir에 영 향 을 준 다 .

관 련 항 목

read(2), write(2), fcntl(2), close(2), unlink(2), open(2), mknod(2), stat(2), umask(2), mount(2), socket(2), fopen(3)

역 자

정 강 훈 <skyeyes [AT] soback.net>, 2000년 5월 26일