Themkdir
(makedirectory)commandin theUnix,DOS,DRFlexOS,[1]IBMOS/2,[2]Microsoft Windows,andReactOS[3]operating systemsis used to make a newdirectory.It is also available in theEFI shell[4]and in thePHPscripting language.In DOS, OS/2, Windows and ReactOS, the command is often abbreviated tomd
.
Developer(s) | Variousopen-sourceandcommercialdevelopers |
---|---|
Written in | Python 3 |
Operating system | Unix,Unix-like,Plan 9,Inferno,DOS,MSX-DOS,FlexOS,OS/2,Windows,ReactOS,KolibriOS |
Platform | Cross-platform |
Type | Command |
License | GNUcoreutils:GPLv3+ MS-DOS,Plan 9:MIT FreeDOS:GPLv2+ ReactOS:GPLv2 |
The command is analogous to theStratusOpenVOScreate_dir
command.[5]MetaComCoTRIPOSandAmigaDOSprovide a similarMakeDir
command to create new directories.[6][7]Thenumerical computingenvironmentsMATLABandGNU Octaveinclude anmkdir
function with similar functionality.[8][9]
History
editIn early versions of Unix (4.1BSDand early versions ofSystem V), this command had to besetuidrootas thekerneldid not have anmkdir
syscall.Instead, it made the directory withmknod
and linked in the.
and..
directory entries manually. The command is available inMS-DOSversions 2 and later.[10]Digital ResearchDR DOS 6.0[11]andDatalightROM-DOS[12]also include an implementation of themd
andmkdir
commands.
The version ofmkdir
bundled inGNUcoreutilswas written by David MacKenzie.[13]
It is also available in theopen sourceMS-DOSemulatorDOSBoxand inKolibriOS.[14]
Usage
editNormal usage is as straightforward as follows:
mkdirname_of_directory
wherename_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, andmkdir
will try to create all of them.
Options
editOn Unix-like operating systems,mkdir
takes options. The options are:
-p (--parents)
:parentsorpath,will also create all directories leading up to the given directory that do not exist already. For example,mkdir -p a/b
will create directorya
if it doesn't exist, then will create directoryb
inside directorya
.If the given directory already exists, ignore the error.-m (--mode)
:mode,specify theoctal permissionsof directories created bymkdir
.
-p
is most often used when usingmkdir
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 byshell scripts.
Examples
editAn 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 aShellextension, nothing mkdir does itself):
mkdir-ptmpdir/{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
edit- Filesystem Hierarchy Standard
- GNU Core Utilities
- Find– The find command coupled with mkdir can be used to only recreate a directory structure (without files).
- List of Unix commands
- List of DOS commands
References
edit- ^"Users guide"(PDF).bitsavers.org. Archived fromthe original(PDF)on 2019-09-25.Retrieved2019-10-22.
- ^"JaTomes Help - OS/2 Commands".jatomes.
- ^"GitHub - reactos/reactos: A free Windows-compatible Operating System".October 22, 2019 – via GitHub.
- ^"EFI Shells and Scripting".Intel.Retrieved2013-09-25.
- ^"Reference manual"(PDF).stratadoc.stratus.Retrieved2019-10-22.
- ^"Introduction to Tripos"(PDF).Retrieved2019-10-22.
- ^Rügheimer, Hannes; Spanik, Christian (October 22, 1988).AmigaDOS quick reference.Grand Rapids, Mi: Abacus.ISBN9781557550491– via Internet Archive.
- ^"Make new folder - MATLAB mkdir".mathworks.
- ^"Function Reference: mkdir".octave.sourceforge.io.
- ^Wolverton, Van (2003).Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition.Microsoft Press.ISBN0-7356-1812-7.
- ^"DR DOS 6.0 User Guide Optimisation and Configuration Tips"(PDF).Archived fromthe original(PDF)on 2019-09-30.Retrieved2019-08-13.
- ^"Datalight ROM-DOS User's Guide"(PDF).datalight.
- ^"mkdir(1): make directories - Linux man page".linux.die.net.
- ^"Shell - KolibriOS wiki".wiki.kolibrios.org.
- ^"Microsoft Windows XP - Mkdir".Microsoft. Archived fromthe originalon July 22, 2016.Retrieved25 October2012.
- ^"Microsoft Windows XP - Cmd".Microsoft.Retrieved25 October2012.
Further reading
edit- Cooper, Jim (2001).Special Edition Using MS-DOS 6.22, Third Edition.Que Publishing.ISBN978-0789725738.
- Kathy Ivens; Brian Proffit (1993).OS/2 Inside & Out.Osborne McGraw-Hill.ISBN978-0078818714.
- Frisch, Æleen (2001).Windows 2000 Commands Pocket Reference.O'Reilly.ISBN978-0-596-00148-3.
- Barrett, Daniel J. (2012).Macintosh Terminal Pocket Guide: Take Command of Your Mac.O'Reilly.ISBN978-1449328986.
External links
edit- Microsoft TechNet Mkdir article
- The Single UNIX Specification,Version 4 fromThe Open Group :make directories – Shell and Utilities Reference,
- Plan 9Programmer's Manual, Volume 1 –
- InfernoGeneral commandsManual –