mkdir

From Wikipedia, the free encyclopedia
(Redirected from MKDIR)

Template:Short description

Page Module:Infobox/styles.css has no content.

mkdir
[[Programmer|DeveloperTemplate:Pluralize from text]]Various open-source and commercial developers
Template:Infobox software/simple
Operating systemUnix, Unix-like, Plan 9, Inferno, DOS, MSX-DOS, FlexOS, OS/2, Windows, ReactOS, KolibriOS
PlatformCross-platform
TypeCommand
LicenseGNU coreutils: GPLv3+
MS-DOS, Plan 9: MIT
FreeDOS: GPLv2+
ReactOS: GPLv2
WebsiteScript error: No such module "WikidataIB".

Script error: No such module "Check for conflicting parameters".

The mkdir (make directory) command in the Unix, DOS, DR FlexOS,[1] IBM OS/2,[2] Microsoft Windows, and ReactOS[3] operating systems is used to make a new directory. It is also available in the EFI shell[4] and in the PHP scripting language. In DOS, OS/2, Windows and ReactOS, the command is often abbreviated to md.

The command is analogous to the Stratus OpenVOS create_dir command.[5] MetaComCo TRIPOS and AmigaDOS provide a similar MakeDir command to create new directories.[6][7] The numerical computing environments MATLAB and GNU Octave include an mkdir function with similar functionality.[8][9]

History

In early versions of Unix (4.1BSD and early versions of System V), this command had to be setuid root as the kernel did not have an mkdir syscall. Instead, it made the directory with mknod and linked in the . and .. directory entries manually. The command is available in MS-DOS versions 2 and later.[10] Digital Research DR DOS 6.0[11] and Datalight ROM-DOS[12] also include an implementation of the md and mkdir commands.

The version of mkdir bundled in GNU coreutils was written by David MacKenzie.[13] It is also available in the open source MS-DOS emulator DOSBox and in KolibriOS.[14]

Usage

The ReactOS mkdir command

Normal usage is as straightforward as follows:

mkdir name_of_directory

where name_of_directory is the name of the directory one wants to create. When typed as above (i.e. normal usage), the new directory would be created within the current directory. On Unix and Windows (with Command extensions enabled,[15] the default[16]), multiple directories can be specified, and mkdir will try to create all of them.

Options

On Unix-like operating systems, mkdir takes options. The options are:

  • -p (--parents): parents or path, will also create all directories leading up to the given directory that do not exist already. For example, mkdir -p a/b will create directory a if it doesn't exist, then will create directory b inside directory a. If the given directory already exists, ignore the error.
  • -m (--mode): mode, specify the octal permissions of directories created by mkdir .

-p is most often used when using mkdir to build up complex directory hierarchies, in case a necessary directory is missing or already there. -m is commonly used to lock down temporary directories used by shell scripts.

Examples

An example of -p in action is:

mkdir -p /tmp/a/b/c

If /tmp/a exists but /tmp/a/b does not, mkdir will create /tmp/a/b before creating /tmp/a/b/c.

And an even more powerful command, creating a full tree at once (this however is a Shell extension, nothing mkdir does itself):

mkdir -p tmpdir/{trunk/sources/{includes,docs},branches,tags}

If one is using variables with mkdir in a bash script, POSIX `special' built-in command 'eval' would serve its purpose.

DOMAIN_NAME=includes,docs
eval "mkdir -p tmpdir/{trunk/sources/{${DOMAIN_NAME}},branches,tags}"

This will create:

          tmpdir
    ________|______
   |        |      |
branches   tags  trunk
                   |
                 sources
               ____|_____
              |          |
          includes     docs

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."Users guide" (PDF). bitsavers.org. Archived from the original (PDF) on 2019-09-25. Retrieved 2019-10-22.
  2. ^ Page Module:Citation/CS1/styles.css has no content."JaTomes Help - OS/2 Commands". www.jatomes.com. Archived from the original on 2019-04-14. Retrieved 2019-07-23.
  3. ^ Page Module:Citation/CS1/styles.css has no content."GitHub - reactos/reactos: A free Windows-compatible Operating System". October 22, 2019. Archived from the original on December 11, 2017. Retrieved July 23, 2019 – via GitHub.
  4. ^ Page Module:Citation/CS1/styles.css has no content."EFI Shells and Scripting". Intel. Archived from the original on 2013-09-27. Retrieved 2013-09-25.
  5. ^ Page Module:Citation/CS1/styles.css has no content."Reference manual" (PDF). stratadoc.stratus.com. Archived (PDF) from the original on 2019-09-22. Retrieved 2019-10-22.
  6. ^ Page Module:Citation/CS1/styles.css has no content."Introduction to Tripos" (PDF). Archived (PDF) from the original on 2020-10-21. Retrieved 2019-10-22.
  7. ^ Page Module:Citation/CS1/styles.css has no content.Rügheimer, Hannes; Spanik, Christian (October 22, 1988). AmigaDOS quick reference. Grand Rapids, Mi : Abacus. ISBN 9781557550491 – via Internet Archive.
  8. ^ Page Module:Citation/CS1/styles.css has no content."Make new folder - MATLAB mkdir". www.mathworks.com. Archived from the original on 2019-04-06. Retrieved 2019-04-06.
  9. ^ Page Module:Citation/CS1/styles.css has no content."Function Reference: mkdir". octave.sourceforge.io.
  10. ^ Page Module:Citation/CS1/styles.css has no content.Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
  11. ^ Page Module:Citation/CS1/styles.css has no content."DR DOS 6.0 User Guide Optimisation and Configuration Tips" (PDF). Archived from the original (PDF) on 2019-09-30. Retrieved 2019-08-13.
  12. ^ Page Module:Citation/CS1/styles.css has no content."Datalight ROM-DOS User's Guide" (PDF). www.datalight.com. Archived (PDF) from the original on 2011-11-16. Retrieved 2020-09-14.
  13. ^ Page Module:Citation/CS1/styles.css has no content."mkdir(1): make directories - Linux man page". linux.die.net. Archived from the original on 2019-07-03. Retrieved 2019-01-19.
  14. ^ Page Module:Citation/CS1/styles.css has no content."Shell - KolibriOS wiki". wiki.kolibrios.org. Archived from the original on 2019-02-11. Retrieved 2019-08-11.
  15. ^ Page Module:Citation/CS1/styles.css has no content."Microsoft Windows XP - Mkdir". Microsoft. Archived from the original on July 22, 2016. Retrieved 25 October 2012.
  16. ^ Page Module:Citation/CS1/styles.css has no content."Microsoft Windows XP - Cmd". Microsoft. Archived from the original on 22 March 2016. Retrieved 25 October 2012.

Further reading

Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.

Page Module:Side box/styles.css has no content.Page Template:Sister project/styles.css has no content.

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found. Template:Plan 9 commands Template:Core Utilities commands Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.