跳转到内容

mkdir

本页使用了标题或全文手工转换
维基百科,自由的百科全书

mkdir
mkdir 命令
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

历史

[编辑]

参考资料

[编辑]
  1. ^ Microsoft Windows XP - Mkdir. Microsoft. [2012年10月25日]. (原始内容存档于2016年7月22日). 
  2. ^ Microsoft Windows XP - Cmd. Microsoft. [2012年10月25日]. (原始内容存档于2016年3月22日). 

外部链接

[编辑]