2004-11-03 13:51:07 +00:00
|
|
|
.\" 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
|
2007-06-08 09:56:56 +00:00
|
|
|
.\" Public License. It comes with NO WARRANTY.
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
2007-05-30 05:36:26 +00:00
|
|
|
.TH MKDIR 2 2003-12-09 "Linux" "Linux Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.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
|
2005-10-19 06:54:38 +00:00
|
|
|
.BR mkdir ()
|
2004-11-03 13:51:07 +00:00
|
|
|
attempts to create a directory named
|
|
|
|
.IR pathname .
|
|
|
|
|
|
|
|
The parameter
|
|
|
|
.I mode
|
2007-04-12 22:42:49 +00:00
|
|
|
specifies the permissions to use.
|
|
|
|
It is modified by the process's
|
2004-11-03 13:51:07 +00:00
|
|
|
.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
|
2007-04-12 22:42:49 +00:00
|
|
|
process.
|
|
|
|
If the directory containing the file has the set-group-ID
|
2004-11-03 13:51:07 +00:00
|
|
|
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.
|
|
|
|
|
2005-07-18 16:09:29 +00:00
|
|
|
If the parent directory has the set-group-ID bit set then so will the
|
2004-11-03 13:51:07 +00:00
|
|
|
newly created directory.
|
|
|
|
.SH "RETURN VALUE"
|
2005-10-19 06:54:38 +00:00
|
|
|
.BR mkdir ()
|
2004-11-03 13:51:07 +00:00
|
|
|
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
|
2007-09-20 16:26:31 +00:00
|
|
|
.I pathname
|
2004-11-03 13:51:07 +00:00
|
|
|
did not allow search permission.
|
|
|
|
(See also
|
2007-05-26 12:41:39 +00:00
|
|
|
.BR path_resolution (7).)
|
2004-11-03 13:51:07 +00:00
|
|
|
.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
|
2007-09-20 16:26:31 +00:00
|
|
|
.I pathname
|
2004-11-03 13:51:07 +00:00
|
|
|
does not support the creation of directories.
|
|
|
|
.TP
|
|
|
|
.B EROFS
|
|
|
|
.I pathname
|
|
|
|
refers to a file on a read-only filesystem.
|
|
|
|
.SH "CONFORMING TO"
|
2006-08-03 13:57:17 +00:00
|
|
|
SVr4, BSD, POSIX.1-2001.
|
|
|
|
.\" SVr4 documents additional EIO, EMULTIHOP
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NOTES
|
2007-06-22 17:16:20 +00:00
|
|
|
Under Linux apart from the permission bits, only the
|
|
|
|
.B S_ISVTX
|
|
|
|
mode bit is honored.
|
2007-04-12 22:42:49 +00:00
|
|
|
That is, under Linux the created directory actually gets mode
|
2004-11-03 13:51:07 +00:00
|
|
|
.RI ( mode " & ~" umask " & 01777)."
|
|
|
|
See also
|
|
|
|
.BR stat (2).
|
|
|
|
.PP
|
2007-04-12 22:42:49 +00:00
|
|
|
There are many infelicities in the protocol underlying NFS.
|
|
|
|
Some of these affect
|
2005-10-19 06:54:38 +00:00
|
|
|
.BR mkdir ().
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH "SEE ALSO"
|
|
|
|
.BR mkdir (1),
|
|
|
|
.BR chmod (2),
|
2006-04-05 04:43:40 +00:00
|
|
|
.BR mkdirat (2),
|
2004-11-03 13:51:07 +00:00
|
|
|
.BR mknod (2),
|
|
|
|
.BR mount (2),
|
|
|
|
.BR rmdir (2),
|
|
|
|
.BR stat (2),
|
|
|
|
.BR umask (2),
|
2007-05-26 12:41:39 +00:00
|
|
|
.BR unlink (2),
|
|
|
|
.BR path_resolution (7)
|