mkdir(2)mkdir(2)NAMEmkdir - make a directory file
The system call creates a new directory file named by path. The file
permission bits of the new directory are initialized from mode, and are
modified by the process's file mode creation mask. For each bit set in
the process's file mode creation mask, the corresponding bit in the new
directory's mode is cleared (see umask(2)).
The directory's owner ID is set to the process's effective-user-ID. If
the set-group-ID bit of the parent directory is set, the directory's
group ID is set to the group ID of the parent directory. Otherwise,
the directory's group ID is set to the process's effective-group-ID.
The set-group-ID bit of the new directory is set to the same value as
the set-group-ID bit of the parent directory.
Symbolic constants defining the access permission bits are found in the
header and are used to construct the argument mode. The value of the
argument mode is the bitwise inclusive OR of the values of the desired
Read by owner.
Write by owner.
Execute (search) by owner.
Read by group.
Write by group.
Execute (search) by group.
Read by others (that is, anybody else).
Write by others.
Execute (search) by others.
Access Control Lists - HFS File Systems Only
On HFS file systems implementing access control lists, the directory is
created with three base ACL entries, corresponding to the file access
permission bits (see acl(5)).
Access Control Lists - JFS File Systems Only
On JFS file systems that support access control lists, optional ACL
entries are created corresponding to the parent directory's default ACL
entries. Also, the parent directory's default ACL entries are copied
as the new directory's default ACL entries (see aclv(5)).
returns one of the following values:
An error code is stored in
If fails, no directory is created and is set to one of the following
A component of the path prefix denies search permission.
The parent directory of the new directory denies write permission.
User's or group's disk quota block or inode limit
has been reached for this file system.
The named file already exists.
path points outside the process's allocated address space.
The reliable detection of this error is implementation
An I/O error occurred while writing to the file system.
Too many symbolic links are encountered in translating the path name.
The maximum number of links to the parent directory,
would be exceeded.
The length of the specified path name exceeds
bytes, or the length of a component of the path name
exceeds bytes while is in effect.
A component of the path prefix does not exist.
Not enough space on the file system.
A component of the path prefix is not a directory.
The named file resides on a read-only file system.
was developed by the University of California, Berkeley.
SEE ALSOacl(2), chmod(2), setacl(2), stat(2), umask(2), acl(5), aclv(5), lim‐