mknod(2)mknod(2)NAMEmknod() - make a directory, special, or ordinary file
The system call creates a new file named by the path name pointed to by
path. The mode of the new file is specified by the mode argument.
Symbolic constants that define the file type and file access permission
bits are found in the header file and are used to construct the mode
argument. The value of the mode argument should be the bit-wise inclu‐
sive OR of the values of the desired file type, miscellaneous mode
bits, and access permissions. See stat(5) for a description of the
components of the file mode.
The owner ID of the file is set to the effective-user-ID of the
process. If the set-group-ID bit of the parent directory is set, the
new file's group ID is set to the group ID of the parent directory.
Otherwise, the new file's group ID is set to the effective-group-ID of
The file access permission bits of mode 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 file's mode is cleared (see
In HFS file systems, the new file is created with three base access-
control-list (ACL) entries, corresponding to the file access permission
bits (see acl(5)). On JFS file systems that support access control
lists, when creating a directory or regular file, optional ACL entries
are created corresponding to the parent directory's default ACL entries
(see aclv(5)). When creating a directory, the parent's default ACL
entries are also copied as the new directory's default ACL entries.
The dev argument is meaningful only if mode indicates a block or char‐
acter special file, and is ignored otherwise. It is an implementation-
and configuration-dependent specification of a character or block I/O
device. The value of dev is created by using the macro defined in The
macro takes as arguments the major and minor device numbers, and
returns a device identification number which is of type The value and
interpretation of the major and minor device numbers are implementa‐
tion-dependent. For more information, see mknod(5) and the System
Administration manuals for your system.
Only users having appropriate privileges can invoke for file types
other than FIFO files.
returns the following values:
The new file is not created. is set to indicate the
If fails, is set to one of the following values.
The directory in which
path would be created denies write permission,
mode is for a FIFO file and the caller does not
have appropriate privileges.
A component of the path prefix denies search permission.
The user's or group's disk quota block or inode limit
has been reached for this file system.
The named path already exists.
The path argument points outside the process's allo‐
cated address space. The reliable detection of
this error is implementation dependent.
Too many symbolic links were encountered in translating the path
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.
The path argument is null.
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 effective-user-ID of the process does not match that of a
user who has
appropriate privileges, and the file type is not
The directory in which the file is to be created
is located on a read-only file system.
was developed by AT&T and HP.
SEE ALSOmknod(1M), acl(2), chmod(2), exec(2), mkdir(2), setacl(2), umask(2),
acl(5), aclv(5), mknod(5), stat(5), types(5).