mkdir
外观
此条目没有列出任何参考或来源。 (2025年5月14日) |
mkdir 命令 | |
| 開發者 | 多种开源软件和商业软件开发者 |
|---|---|
| 操作系统 | Unix, Unix-like, Plan 9, Inferno, DOS, MSX-DOS, FlexOS, OS/2, Windows, ReactOS, KolibriOS |
| 平台 | 跨平台 |
| 类型 | 命令 |
| 许可协议 | GNU coreutils: GPLv3+ MS-DOS, Plan 9: MIT FreeDOS: GPLv2+ ReactOS: GPLv2 |
mkdir(make directory,创建目录)命令在Unix、DOS、OS/2和Microsoft Windows操作系统以及PHP脚本语言中用于创建一个目录。DOS、OS/2和Windows中,这条指令常被简写用作md。
用法
[编辑]一般用法如下:
mkdir name_of_directory
其中 name_of_directory 为要创建的目录名称。按照上述方式输入命令(即通常用法)时,新目录将在当前目录中创建。在 Unix 以及 Windows(启用了命令扩展[1],且默认启用[2])中,可以指定多个目录,而 mkdir 将尝试创建这些目录。
选项
[编辑]在类Unix操作系统中,mkdir提供参数。最常用的三个参数为:
-p (--parents):会同时创建指定目录路径中所有尚不存在的上级目录。例如,mkdir -p a/b会先创建目录a(如果其不存在),然后在目录a中创建目录b。如果指定的目录已经存在,则忽略错误。-m (--mode):用于指定由mkdir创建的目录的八进制权限。
使用-p最常见的情况是在使用mkdir创建复杂的目录层级结构时,以防所需的目录不存在或已经存在。-m则通常用于限制Shell脚本所使用的临时目录的访问权限。
示例
[编辑]-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/{trunk/sources/{includes,docs},branches,tags}
如果在Bash脚本中使用变量配合mkdir,POSIX的特殊内置命令'eval'便可以实现这一目的。
DOMAIN_NAME=includes,docs
eval "mkdir -p tmpdir/{trunk/sources/{${DOMAIN_NAME}},branches,tags}"
这将创建以下目录结构:
tmpdir
________|______
| | |
branches tags trunk
|
sources
____|_____
| |
includes docs
历史
[编辑]参考资料
[编辑]- ^ Microsoft Windows XP - Mkdir. Microsoft. [2012年10月25日]. (原始内容存档于2016年7月22日).
- ^ Microsoft Windows XP - Cmd. Microsoft. [2012年10月25日]. (原始内容存档于2016年3月22日).
外部链接
[编辑]- Microsoft TechNet Mkdir article (页面存档备份,存于互联网档案馆)
- : make directories – 命令与工具(Commands & Utilities)参考,单一UNIX®规范第7期,由國際開放標準組織发布