mode는 사용할 수 있는 권한에 대한 허가권(:12)을
지정한다. 이것은 일반적으로 umask에 의해
수정된다. 만들어진 파일의 허가권은 (mode & ~umask)이다. 새롭게
만들어진 디렉토리는 프로세스(:12)의 유효(effective) uid(:12)의 소유이다.
만알 파일을 포함하는 디렉토리가 그룹 id비트가 설정되어 있거나
파일:::시스템(:12)이 BSD 그룹 의미로 마운트(:12) 되어 있다면, 새 디렉토리는
부모로 부터 그룹 소유권을 상속받는다. 그렇지 않으면, 프로세스의
유효 gid의 소유가 된다.
1.3. 반환값
성공하면 0을 실패하면 -1을 리턴한다.
1.4. 에러
EEXIST
pathname가 일반파일 혹은 디렉토리의
형태로 이미 존재한다.
EFAULT
pathname이 접근할수 없는 주소공간을 가르키고 있다.
EACCESS
부모 디렉토리가 프로세스에게 쓰기 허가권을 허락하지 않았거나,
pathname에 있는 디렉토리 중 하나가 찾기 허가권이 없다.
1장. mkdir(2)
디렉토리(:12)를 생성한다.
1.1. 사용법
1.2. 설명
mkdir(2)는 pathname이름을 가지는 디렉토리(:12)를 만들려고 시도한다.
mode는 사용할 수 있는 권한에 대한 허가권(:12)을 지정한다. 이것은 일반적으로 umask에 의해 수정된다. 만들어진 파일의 허가권은 (mode & ~umask)이다. 새롭게 만들어진 디렉토리는 프로세스(:12)의 유효(effective) uid(:12)의 소유이다. 만알 파일을 포함하는 디렉토리가 그룹 id비트가 설정되어 있거나 파일:::시스템(:12)이 BSD 그룹 의미로 마운트(:12) 되어 있다면, 새 디렉토리는 부모로 부터 그룹 소유권을 상속받는다. 그렇지 않으면, 프로세스의 유효 gid의 소유가 된다.
1.3. 반환값
성공하면 0을 실패하면 -1을 리턴한다.
1.4. 에러
pathname가 일반파일 혹은 디렉토리의 형태로 이미 존재한다.
pathname이 접근할수 없는 주소공간을 가르키고 있다.
부모 디렉토리가 프로세스에게 쓰기 허가권을 허락하지 않았거나, pathname에 있는 디렉토리 중 하나가 찾기 허가권이 없다.
pathname이 너무 길다.
pathname에 디렉토리로서 사용한 요소가 디렉토리가 아니다.
이용할 수 있는 커널 메모리가 충분하지 않다.
이용할 수 있는 커널 메모리가 충분하지 않다.
pathname가 읽기 전용 파일 시스템에 있는 파일을 가리키고 있다.
너무 많은 심볼릭:::링크(:12)를 pathname에서 만났다.
pathname을 포함하는 장치에 새 디렉토리를 위한 공간이 없다.
1.5. 예제
1.6. 참고문헌
read(2)
write(2)
fcntl(2)
close(2)
unlink(2)
open(2)
mknod(2)
stat(2)
umask(2)
mount(2)
socket(2)
fopen(2)
Recent Posts
Archive Posts
Tags