mirror of https://github.com/mkerrisk/man-pages
128 lines
3.2 KiB
Groff
128 lines
3.2 KiB
Groff
.\" Hey Emacs! This file is -*- nroff -*- source.
|
|
.\"
|
|
.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
|
|
.\" 1993 Michael Haardt
|
|
.\" 1993,1994 Ian Jackson.
|
|
.\" You may distribute it under the terms of the GNU General
|
|
.\" Public Licence. It comes with NO WARRANTY.
|
|
.\"
|
|
.TH MKDIR 2 2003-12-09 "Linux 2.4" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
mkdir \- create a directory
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <sys/stat.h>
|
|
.B #include <sys/types.h>
|
|
.\" .B #include <unistd.h>
|
|
.sp
|
|
.BI "int mkdir(const char *" pathname ", mode_t " mode );
|
|
.fi
|
|
.SH DESCRIPTION
|
|
.BR mkdir ()
|
|
attempts to create a directory named
|
|
.IR pathname .
|
|
|
|
The parameter
|
|
.I mode
|
|
specifies the permissions to use. It is modified by the process's
|
|
.I umask
|
|
in the usual way: the permissions of the created directory are
|
|
.RI ( mode " & ~" umask " & 0777)."
|
|
Other mode bits of the created directory depend on the operating system.
|
|
For Linux, see below.
|
|
|
|
The newly created directory will be owned by the effective user ID of the
|
|
process. If the directory containing the file has the set-group-ID
|
|
bit set, or if the filesystem is mounted with BSD group semantics, the
|
|
new directory will inherit the group ownership from its parent;
|
|
otherwise it will be owned by the effective group ID of the process.
|
|
|
|
If the parent directory has the set-group-ID bit set then so will the
|
|
newly created directory.
|
|
|
|
.SH "RETURN VALUE"
|
|
.BR mkdir ()
|
|
returns zero on success, or \-1 if an error occurred (in which case,
|
|
.I errno
|
|
is set appropriately).
|
|
.SH ERRORS
|
|
.TP
|
|
.B EACCES
|
|
The parent directory does not allow write permission to the process,
|
|
or one of the directories in
|
|
.IR pathname
|
|
did not allow search permission.
|
|
(See also
|
|
.BR path_resolution (2).)
|
|
.TP
|
|
.B EEXIST
|
|
.I pathname
|
|
already exists (not necessarily as a directory).
|
|
This includes the case where
|
|
.I pathname
|
|
is a symbolic link, dangling or not.
|
|
.TP
|
|
.B EFAULT
|
|
.IR pathname " points outside your accessible address space."
|
|
.TP
|
|
.B ELOOP
|
|
Too many symbolic links were encountered in resolving
|
|
.IR pathname .
|
|
.TP
|
|
.B ENAMETOOLONG
|
|
.IR pathname " was too long."
|
|
.TP
|
|
.B ENOENT
|
|
A directory component in
|
|
.I pathname
|
|
does not exist or is a dangling symbolic link.
|
|
.TP
|
|
.B ENOMEM
|
|
Insufficient kernel memory was available.
|
|
.TP
|
|
.B ENOSPC
|
|
The device containing
|
|
.I pathname
|
|
has no room for the new directory.
|
|
.TP
|
|
.B ENOSPC
|
|
The new directory cannot be created because the user's disk quota is
|
|
exhausted.
|
|
.TP
|
|
.B ENOTDIR
|
|
A component used as a directory in
|
|
.I pathname
|
|
is not, in fact, a directory.
|
|
.TP
|
|
.B EPERM
|
|
The filesystem containing
|
|
.IR pathname
|
|
does not support the creation of directories.
|
|
.TP
|
|
.B EROFS
|
|
.I pathname
|
|
refers to a file on a read-only filesystem.
|
|
.SH "CONFORMING TO"
|
|
SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 documents additional EIO, EMULTIHOP
|
|
and ENOLINK error conditions; POSIX.1 omits ELOOP.
|
|
.SH NOTES
|
|
Under Linux apart from the permission bits, only the S_ISVTX mode bit
|
|
is honored. That is, under Linux the created directory actually gets mode
|
|
.RI ( mode " & ~" umask " & 01777)."
|
|
See also
|
|
.BR stat (2).
|
|
.PP
|
|
There are many infelicities in the protocol underlying NFS. Some
|
|
of these affect
|
|
.BR mkdir ().
|
|
.SH "SEE ALSO"
|
|
.BR mkdir (1),
|
|
.BR chmod (2),
|
|
.BR mknod (2),
|
|
.BR mount (2),
|
|
.BR path_resolution (2),
|
|
.BR rmdir (2),
|
|
.BR stat (2),
|
|
.BR umask (2),
|
|
.BR unlink (2)
|