mkdirhier(1)
NAME
mkdirhier - create a directory hierarchy
SYNOPSIS
mkdirhier directory ...
DESCRIPTION
mkdirhier creates the specified directories. Unlike some versions of
mkdir, if any of the parent directories of the specified directory do
not exist, mkdirhier creates them as well.
mkdirhier is a wrapper for mkdir; systems with mkdir(__osmansuffix__)
implementations conformant with the Single Unix Specification may simply use mkdir -p instead -- this includes all systems using the GNU
Core Utilities' version of mkdir.
DIAGNOSTICS
If mkdirhier is not supplied with any arguments, a usage message is
printed.
mkdirhier prefixes its diagnostic messages with the name under which it
was invoked, followed by a colon (':') so that its messages can be distinguished from others.
- could not create directory "directory"
- indicates that there was a failure while creating directory. This message will likely be preceded by a diagnostic message from mkdir.
EXIT STATUS
64 mkdirhier was not given any directory names to create.
mkdirhier otherwise exits with the exit status of the last mkdir command that failed.
BUGS
mkdirhier does not create all the requested directories as an atomic
operation; therefore, it is is susceptible to race conditions. For
example, if mkdirhier is directed to create a hierarchy a/b/c/d and any
of a/, b/, or c/ do not yet exist, any of the newly-created directories
can be removed and/or replaced by a symbolic link to another location
in the window of time after mkdirhier creates a directory and the
directory immediately below it. This means that failures can be provoked (since mkdir will fail to create a directory in a directory that
does not already exist), or directories may be created in unexpected
locations. The same limitation holds for multiple directory arguments
to mkdirhier; given two arguments a/b/c/d and a/b/c/f, it is possible
for the directory hierarchy a/b/c to be disrupted in the time between
the processing of the two arguments. To avoid these problems, use
mkdir -p instead, or do not use mkdirhier to create directories in
parts of the filesystem where untrusted users can manipulate them.
SEE ALSO
- mkdir(__osmansuffix__)