mkdir

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
MKDIR(2)		  Linux Programmer’s Manual		     MKDIR(2)



NAME
       mkdir - create a directory

SYNOPSIS
       #include <sys/stat.h>
       #include <sys/types.h>

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

DESCRIPTION
       mkdir attempts to create a directory named pathname.

       The parameter mode specifies the permissions to use. It is modified by
       the process’s umask in the usual way: the permissions of	 the  created
       directory  are (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 uid 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; other-
       wise it will be owned by the effective gid of the process.

       If the parent directory has the set group id bit set then so will  the
       newly created directory.


RETURN VALUE
       mkdir  returns  zero  on success, or -1 if an error occurred (in which
       case, errno is set appropriately).

ERRORS
       EPERM  The filesystem containing pathname does not  support  the	 cre-
	      ation of directories.

       EEXIST pathname already exists (not necessarily as a directory).	 This
	      includes the case where pathname is a symbolic  link,  dangling
	      or not.

       EFAULT pathname points outside your accessible address space.

       EACCES The  parent  directory  does  not allow write permission to the
	      process, or one of the directories in pathname  did  not	allow
	      search (execute) permission.

       ENAMETOOLONG
	      pathname was too long.

       ENOENT A	 directory  component in pathname does not exist or is a dan-
	      gling symbolic link.

       ENOTDIR
	      A component used as a directory in pathname is not, in fact,  a
	      directory.

       ENOMEM Insufficient kernel memory was available.

       EROFS  pathname refers to a file on a read-only filesystem.

       ELOOP  Too many symbolic links were encountered in resolving pathname.

       ENOSPC The device containing pathname has no room for the  new  direc-
	      tory.

       ENOSPC The  new	directory  cannot  be created because the user’s disk
	      quota is exhausted.

CONFORMING TO
       SVr4, POSIX, BSD, SYSV, X/OPEN.	SVr4 documents additional EIO,	EMUL-
       TIHOP and ENOLINK error conditions; POSIX.1 omits ELOOP.

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 (mode & ~umask & 01777).  See also stat(2).

       There  are  many infelicities in the protocol underlying NFS.  Some of
       these affect mkdir.

SEE ALSO
       mkdir(1), chmod(2), mknod(2), mount(2), rmdir(2),  stat(2),  umask(2),
       unlink(2)





Linux 2.4			  2003-12-09			     MKDIR(2)