mkdir(2) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

mkdir(2)

mkdir(2)                         System Calls                         mkdir(2)



NAME
       mkdir, mkdirat - make a directory relative to directory file descriptor

SYNOPSIS
       #include <sys/stat.h>

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


       int mkdirat(int fd, const char *path, mode_t mode);

DESCRIPTION
       The  mkdir()  function  creates  a new directory named by the path name
       pointed to by path. The mode of the new directory is  initialized  from
       mode  (see  chmod(2)  for  values  of mode). The access permission bits
       (S_IAMB) of the mode argument is modified by the  process's  file  cre‐
       ation mask (see umask(2)).


       The directory's owner ID is set to the process's effective user ID. The
       directory's group ID is set to the process's effective group ID, or  if
       the  S_ISGID  bit  is set in the parent directory, then the group ID of
       the directory is inherited from the parent. The S_ISGID bit of the  new
       directory is inherited from the parent directory.


       If path names a symbolic link, mkdir() fails and sets errno to EEXIST.


       The  newly created directory is empty with the exception of entries for
       itself (.) and its parent directory (..).


       Upon successful completion, mkdir()  marks  for  update  the  st_atime,
       st_ctime  and  st_mtime fields of the directory. Also, the st_ctime and
       st_mtime fields of the directory that contains the new entry are marked
       for update.


       The  mkdirat() function is equivalent to the mkdir() function except in
       the case where path specifies a relative path. In this case  the  newly
       created  directory is created relative to the directory associated with
       the file descriptor fd instead of the current working directory. If the
       file  descriptor  was  opened  without  O_SEARCH,  the  function checks
       whether directory searches are permitted using the current  permissions
       of the directory underlying the file descriptor. If the file descriptor
       was opened with O_SEARCH, the function does not perform the check.


       If mkdirat() is passed the special value AT_FDCWD in the fd  parameter,
       the  current working directory is used and the behavior is identical to
       a call to mkdir().

RETURN VALUES
       Upon successful completion, 0 is returned. Otherwise, −1  is  returned,
       no directory is created, and errno is set to indicate the error.

ERRORS
       The mkdir() and mkdirat() functions will fail if:

       EACCES          Either  a  component  of  the path prefix denies search
                       permission or write permission is denied on the  parent
                       directory of the directory to be created.


       EDQUOT          The  directory where the new file entry is being placed
                       cannot be extended because the  user's  quota  of  disk
                       blocks  on that file system has been exhausted; the new
                       directory cannot be created because the user's quota of
                       disk  blocks on that file system has been exhausted; or
                       the user's quota of inodes on the file system where the
                       file is being created has been exhausted.


       EEXIST          The named file already exists.


       EFAULT          The path argument points to an illegal address.


       EINVAL          An  attempt  was  made  to create an extended attribute
                       that is a directory.


       EIO             An I/O error has occurred while accessing the file sys‐
                       tem.


       EILSEQ          The  path argument includes non-UTF8 characters and the
                       file system accepts only file names where  all  charac‐
                       ters are part of the UTF-8 character codeset.


       ELOOP           Too many symbolic links were encountered in translating
                       path, or a loop exists in  symbolic  links  encountered
                       during resolution of path


       EMLINK          The  maximum  number  of  links to the parent directory
                       would be exceeded.


       ENAMETOOLONG    The length of the path argument  exceeds  PATH_MAX,  or
                       the  length  of a path component exceeds NAME_MAX while
                       _POSIX_NO_TRUNC is in effect.


       ENOENT          A component of the path prefix does not exist or  is  a
                       null pathname.


       ENOLINK         The  path  argument  points to a remote machine and the
                       link to that machine is no longer active.


       ENOSPC          No free space is available on the device containing the
                       directory.


       ENOTDIR         A component of the path prefix is not a directory.


       EROFS           The path prefix resides on a read-only file system.



       The mkdirat() function will fail if:

       EBADF    The path argument does not specify an absolute path and the fd
                argument is neither AT_FDCWD nor a valid file descriptor  open
                for reading.



       The mkdir() and mkdirat() functions may fail if:

       ELOOP           More than {SYMLOOP_MAX} symbolic links were encountered
                       during resolution of the path argument.


       ENAMETOOLONG    As a result of encountering a symbolic link in  resolu‐
                       tion  of  the  path argument, the length of the substi‐
                       tuted pathname string exceeded {PATH_MAX}.



       The mkdirat() function may fail if:

       ENOTDIR    The path argument is not an absolute path and fd is  neither
                  AT_FDCWD nor a file descriptor associated with a directory.


EXAMPLES
       Example 1 Create a directory.



       The  following  example  demonstrates  how  to create a directory named
       /home/cnd/mod1, with read, write, and search permissions for owner  and
       group, and with read and search permissions for others.


         #include <sys/stat.h>
         int status;
         ...
         status = mkdir("/home/cnd/mod1",
              S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface  StabilityCommitted  _  MT-LevelAsync-Signal-
       Safe _ StandardSee standards(7).


SEE ALSO
       chmod(2),     mknod(2),    umask(2),    mkdirp(3GEN),    stat.h(3HEAD),
       attributes(7), standards(7)

HISTORY
       The mkdir() function has been included in all Sun and  Oracle  releases
       of Solaris.


       The  mkdirat()  function  was  added  to  Solaris  in  the Solaris 11.0
       release.



Oracle Solaris 11.4               16 Sep 2020                         mkdir(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3