1.指令格式:
mkdir [選項] 目錄...
2.指令功能:
通過 mkdir 指令可以實作在指定位置建立以 DirName(指定的檔案名)命名的檔案夾或目錄。要建立檔案夾或目錄的使用者必須對所建立的檔案夾的父檔案夾具有寫權限。并且,所建立的檔案夾(目錄)不能與其父目錄(即父檔案夾)中的檔案名重名,即同一個目錄下不能有同名的(區分大小寫)。注意:mkdir是用來建立目錄的,而touch是用來建立檔案的。
3.指令參數:
-m, --mode=模式,設定權限<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask
-p, --parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統将自動建立好那些尚不存在的目錄,即一次可以建立多個目錄;
-v, --verbose 每次建立新目錄都顯示資訊
--help 顯示此幫助資訊并退出
--version 輸出版本資訊并退出
4.指令執行個體:
執行個體1:建立一個空目錄
<pre name="code" class="html"> [[email protected] soft]# mkdir test1
[[email protected] soft]# cd test
[[email protected] test]# mkdir test1
[[email protected] test]# ll
總計 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1
[[email protected] test]#
執行個體2:遞歸建立多個目錄
<pre name="code" class="html"> [[email protected] test]#mkdir -p test2/test22
[[email protected] test]# mkdir -p test2/test22
[[email protected] test]# ll
總計 8drwxr-xr-x 2 root root 4096 10-25 17:42 test1
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
[[email protected] test]# cd test2/
[[email protected] test2]# ll
總計 4drwxr-xr-x 2 root root 4096 10-25 17:44 test22
[[email protected] test2]#
執行個體3:建立權限為777的目錄
mkdir -m 777 test3
[[email protected] test]# mkdir -m 777 test3
[[email protected] test]# ll
總計 12drwxr-xr-x 2 root root 4096 10-25 17:42 test1
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
[[email protected] test]#
說明:
test3 的權限為rwxrwxrwx
執行個體4:建立新目錄都顯示資訊
指令:
<pre name="code" class="html"> [[email protected] test]# mkdir -v test4
[[email protected] test]# mkdir -v test4
mkdir: 已建立目錄 “test4”
[[email protected] test]# mkdir -vp test5/test5-1
mkdir: 已建立目錄 “test5”
mkdir: 已建立目錄 “test5/test5-1”
[[email protected] test]#
執行個體五:一個指令建立項目的目錄結構
參考:http://www.ibm.com/developerworks/cn/aix/library/au-badunixhabits.html
指令:
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
輸出:
[html] view plain copy
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5Gcu82Yp9VRE90Qvw1c0V2czF2LcRXZu5ibkN3YuUGZvN2Lc9CX6MHc0RHaiojIsJye.png)
[[email protected] test]# mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
mkdir: 已建立目錄 “scf”
mkdir: 已建立目錄 “scf/lib”
mkdir: 已建立目錄 “scf/bin”
mkdir: 已建立目錄 “scf/doc”
mkdir: 已建立目錄 “scf/doc/info”
mkdir: 已建立目錄 “scf/doc/product”
mkdir: 已建立目錄 “scf/logs”
mkdir: 已建立目錄 “scf/logs/info”
mkdir: 已建立目錄 “scf/logs/product”
mkdir: 已建立目錄 “scf/service”
mkdir: 已建立目錄 “scf/service/deploy”
mkdir: 已建立目錄 “scf/service/deploy/info”
mkdir: 已建立目錄 “scf/service/deploy/product”
(無tree指令,可先安裝#yum install tree)
[html] view plaincopy在CODE上檢視代碼片派生到我的代碼片
[[email protected] test]# tree scf/
scf/
|-- bin
|-- doc
| |-- info
| `-- product
|-- lib
|-- logs
| |-- info
| `-- product
`-- service
`-- deploy
|-- info
`-- product
12 directories, 0 files
[[email protected] test]#