跳至內容

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日). 

外部連結

[編輯]