Команда mkdir
( makedirectory ) в операционных системах Unix , DOS , DR FlexOS , [ 1 ] IBM OS/2 , [ 2] Microsoft Windows и ReactOS [3] используется для создания нового каталога . Он также доступен в оболочке EFI [4] и на языке сценариев PHP . В DOS, OS/2, Windows и ReactOS команда часто сокращается до . md
Команда аналогична команде Stratus OpenVOS create_dir
. [5] MetaComCo TRIPOS и AmigaDOS предоставляют аналогичную MakeDir
команду для создания новых каталогов. [6] [7] Среды численных вычислений MATLAB и GNU Octave включают функцию mkdir
с аналогичной функциональностью. [8] [9]
В ранних версиях Unix ( 4.1BSD и ранние версии System V ) для этой команды нужно было указать root с setuid , поскольку ядро не имело системного вызова . Вместо этого он вручную создал каталог и связал его с записями каталога . Команда доступна в MS-DOS версии 2 и более поздних версиях. [10] Digital Research DR DOS 6.0 [11] и Datalight ROM-DOS [12] также включают реализацию команд и .mkdir
mknod
.
..
md
mkdir
Версия, mkdir
входящая в состав GNU coreutils , была написана Дэвидом Маккензи. [13]
Он также доступен в эмуляторе MS-DOS с открытым исходным кодом DOSBox и в KolibriOS . [14]
mkdir
Обычное использование очень простое:
mkdir имя_каталога
где name_of_directory
имя каталога, который нужно создать. При вводе, как указано выше (т.е. при обычном использовании), новый каталог будет создан внутри текущего каталога. В Unix и Windows (с включенными расширениями команд, [15] по умолчанию [16] ) можно указать несколько каталогов, и mkdir
будет предпринята попытка создать их все.
В Unix-подобных операционных системах mkdir
принимает параметры. Возможные варианты:
-p (--parents)
: родители или путь также создаст все каталоги, ведущие к данному каталогу, которые еще не существуют. Например, mkdir -p a/b
создаст каталог, a
если он не существует, а затем создаст каталог b
внутри каталога a
. Если данный каталог уже существует, игнорируйте ошибку.-m (--mode)
: режим , укажите восьмеричные права доступа к каталогам, созданным mkdir
.-p
чаще всего используется при mkdir
построении сложной иерархии каталогов, в случае, если необходимый каталог отсутствует или уже существует. -m
обычно используется для блокировки временных каталогов, используемых сценариями оболочки .
Пример -p
в действии:
mkdir -p /tmp/a/b/c
Если /tmp/a
существует, но /tmp/a/b
не существует, перед созданием mkdir
будет создано ./tmp/a/b
/tmp/a/b/c
И еще более мощная команда, создающая сразу полное дерево (однако это расширение Shell , mkdir ничего не делает):
mkdir -p tmpdir/ { ствол/источники/ { включает в себя, документы } , ветки, теги }
Если кто-то использует переменные с mkdir в сценарии bash, «специальная» встроенная команда POSIX «eval» сослужит свою службу.
DOMAIN_NAME = include,docs eval "mkdir -p tmpdir/{trunk/sources/{ ${ DOMAIN_NAME } },branches,tags}"
Это создаст:
tmpdir ________|______ | | |ветки теги ствол | источники ___|_____ | | включает документы