MKDIR
Section: 리눅스 프로그래머 매뉴얼
(2)
Updated: 1994년 3월 29일
Index
Return to Main Contents
이름
mkdir - 디렉토리를 만든다.
사용법
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
int mkdir(const char *pathname, mode_t mode);
설명
mkdir는
pathname이라는
이름의 디렉토리를 만들려고 시도한다.
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@soback.kornet.net>, 2000년 5월 26일
Index
- 이름
-
- 사용법
-
- 설명
-
- 반환값
-
- 에러
-
- 호환
-
- 관련 항목
-
- 역자
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:00 GMT, March 25, 2004