Provided by: manpages-posix_2013a-1_all bug


       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of
       this interface may differ (consult the corresponding Linux  manual  page  for  details  of
       Linux behavior), or the interface may not be implemented on Linux.


       mkdir — make directories


       mkdir [−p] [−m mode] dir...


       The  mkdir  utility  shall  create the directories specified by the operands, in the order

       For each dir operand, the mkdir utility shall perform actions equivalent  to  the  mkdir()
       function  defined  in  the  System  Interfaces  volume  of  POSIX.1‐2008,  called with the
       following arguments:

        1. The dir operand is used as the path argument.

        2. The value of the bitwise-inclusive OR of S_IRWXU, S_IRWXG, and S_IRWXO is used as  the
           mode  argument. (If the −m option is specified, the value of the mkdir() mode argument
           is unspecified, but the directory shall at no time have permissions  less  restrictive
           than the −m mode option-argument.)


       The  mkdir  utility  shall conform to the Base Definitions volume of POSIX.1‐2008, Section
       12.2, Utility Syntax Guidelines.

       The following options shall be supported:

       −m mode   Set the file permission bits of the newly-created  directory  to  the  specified
                 mode  value.  The  mode  option-argument  shall  be the same as the mode operand
                 defined for the chmod utility. In the symbolic_mode strings, the  op  characters
                 '+'  and  '−' shall be interpreted relative to an assumed initial mode of a=rwx;
                 '+' shall add permissions to the default mode, '−' shall delete permissions from
                 the default mode.

       −p        Create any missing intermediate pathname components.

                 For each dir operand that does not name an existing directory, before performing
                 the actions described in the DESCRIPTION above, the mkdir utility  shall  create
                 any  pathname  components of the path prefix of dir that do not name an existing
                 directory by performing actions equivalent to first calling the mkdir() function
                 with the following arguments:

                  1. A  pathname  naming  the  missing pathname component, ending with a trailing
                     <slash> character, as the path argument

                  2. The value zero as the mode argument

                 and then calling the chmod() function with the following arguments:

                  1. The same path argument as in the mkdir() call

                  2. The value  (S_IWUSR|S_IXUSR|~filemask)&0777  as  the  mode  argument,  where
                     filemask  is  the  file  mode  creation  mask of the process (see the System
                     Interfaces volume of POSIX.1‐2008, umask())

                 Each dir operand that names an  existing  directory  shall  be  ignored  without


       The following operand shall be supported:

       dir       A pathname of a directory to be created.


       Not used.




       The following environment variables shall affect the execution of mkdir:

       LANG      Provide a default value for the internationalization variables that are unset or
                 null.  (See  the  Base  Definitions  volume  of   POSIX.1‐2008,   Section   8.2,
                 Internationalization   Variables  for  the  precedence  of  internationalization
                 variables used to determine the values of locale categories.)

       LC_ALL    If set to a non-empty string  value,  override  the  values  of  all  the  other
                 internationalization variables.

       LC_CTYPE  Determine  the  locale for the interpretation of sequences of bytes of text data
                 as characters (for example, single-byte as opposed to multi-byte  characters  in

                 Determine  the  locale  that should be used to affect the format and contents of
                 diagnostic messages written to standard error.

       NLSPATH   Determine the location of message catalogs for the processing of LC_MESSAGES.




       Not used.


       The standard error shall be used only for diagnostic messages.






       The following exit values shall be returned:

        0    All the specified directories  were  created  successfully  or  the  −p  option  was
             specified and all the specified directories now exist.

       >0    An error occurred.



       The following sections are informative.


       The  default  file  mode  for  directories  is  a=rwx  (777 on most systems) with selected
       permissions removed in accordance with the  file  mode  creation  mask.  For  intermediate
       pathname components created by mkdir, the mode is the default modified by u+wx so that the
       subdirectories can always be created  regardless  of  the  file  mode  creation  mask;  if
       different  ultimate  permissions are desired for the intermediate directories, they can be
       changed afterwards with chmod.

       Note that some of the requested directories may have been created even if an error occurs.




       The System V −m option was included to control the file mode.

       The System V −p option was included to create any needed intermediate directories  and  to
       complement the functionality provided by rmdir for removing directories in the path prefix
       as they become empty.  Because no error is produced if any path component already  exists,
       the −p option is also useful to ensure that a particular directory exists.

       The  functionality  of mkdir is described substantially through a reference to the mkdir()
       function in the System Interfaces volume of POSIX.1‐2008. For  example,  by  default,  the
       mode  of  the  directory is affected by the file mode creation mask in accordance with the
       specified behavior of the mkdir() function. In this way,  there  is  less  duplication  of
       effort required for describing details of the directory creation.




       chmod, rm, rmdir, umask

       The  Base  Definitions  volume  of POSIX.1‐2008, Chapter 8, Environment Variables, Section
       12.2, Utility Syntax Guidelines

       The System Interfaces volume of POSIX.1‐2008, mkdir(), umask()


       Portions of this text are reprinted and  reproduced  in  electronic  form  from  IEEE  Std
       1003.1,  2013  Edition,  Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 7, Copyright (C) 2013  by  the
       Institute  of  Electrical  and  Electronics  Engineers,  Inc and The Open Group.  (This is
       POSIX.1-2008 with the  2013  Technical  Corrigendum  1  applied.)  In  the  event  of  any
       discrepancy  between  this  version and the original IEEE and The Open Group Standard, the
       original IEEE and The Open Group Standard is the referee document. The  original  Standard
       can be obtained online at .

       Any  typographical  or  formatting errors that appear in this page are most likely to have
       been introduced during the conversion of the source files to man page  format.  To  report
       such errors, see .