sliver__

[Directory Management] - mkdir 함수 본문

CS/UNIX

[Directory Management] - mkdir 함수

sliver__ 2022. 10. 22. 17:17
728x90

[새로운 디렉토리 만들기]

  • mkdir 함수로 새로운 디렉토리를 생성할 수 있다.
  • 프로토타입은 아래와 같다.
#include <sys/types.h>
#include <sys/stat.h>

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

 

  • 인수 경로는 생성될 새 디렉터리의 경로 이름이다. 
  • 경로 이름의 모든 중간 디렉토리 이름은 이미 존재해야 한다. 
  • 경로 이름의 마지막 구성 요소만 실제로 생성된다.
  • mode는 생성 중인 새 디렉토리에 부여될 권한 비트를 지정한다. 
  • 대부분의 경우 S_ISGID, S_ISUID 및 S_ISVTX 비트는 모드에 지정된 값에서 자동으로 삭제된다. 
  • 새 디렉토리에 할당된 최종 권한 비트는 현재 umask 설정을 적용함으로써 영향을 받는다.
  • 함수는 성공하면 0을 반환하고 실패하면 errno의 코드와 함께 -1을 반환한다. 
  • 많은 가능한 오류가 반환될 수 있지만 EROFS 및 EDQUOT는 아래와 같다.
    • EROFS - 읽기 전용 파일 시스템 파일 시스템이 읽기 전용 모드로 마운트되었을 때 디렉토리를 만들려고 했을 경우
    • EDQUOT - 포함하는 파일 시스템에서 사용자의 디스크 블록 할당량이 소진되었을 경우 디렉토리 생성 실패 또는 파일 시스템에서 사용자의 i-node 할당량이 소진될 경우

 

 

728x90
Comments