linux mkdir 指令用來建立指定的名稱的目錄,要求建立目錄的使用者在目前目錄中具有寫權限,并且指定的目錄名不能是目前目錄中已有的目錄。
1.指令格式:
mkdir [選項] 目錄名或路徑名
2.指令功能:
通過 mkdir 指令可以實作在指定位置建立以 DirName(指定的檔案名)命名的檔案夾或目錄。要建立檔案夾或目錄的使用者必須對所建立的檔案夾的父檔案夾具有寫權限。并且,所建立的檔案夾(目錄)不能與其父目錄(即父檔案夾)中的檔案名重名,即同一個目錄下不能有同名的(區分大小寫)。
3.指令參數:
參數 | 描述 |
-m | --mode=模式,設定權限<模式> (類似 chmod) |
-p | --parents 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統将自動建立好那些尚不存在的目錄,即一次可以建立多個目錄; |
-v | --verbose , 每次建立新目錄都顯示資訊 |
--help | 顯示此幫助資訊并退出 |
--version | 輸出版本資訊并退出 |
4.指令執行個體:
1:建立一個空目錄
指令:
mkdir test1
輸出:
hc@hc-virtual-machine:~$ ls
PycharmProjects snap 公共的 模闆 視訊 圖檔 文檔 下載下傳 音樂 桌面
hc@hc-virtual-machine:~$ mkdir test1
hc@hc-virtual-machine:~$ ls
PycharmProjects snap test1 公共的 模闆 視訊 圖檔 文檔 下載下傳 音樂 桌面
2:遞歸建立多個目錄
指令:
mkdir -p test2/test22
輸出:
hc@hc-virtual-machine:~$ mkdir -p test2/test22
hc@hc-virtual-machine:~$ ls
PycharmProjects test1 公共的 視訊 文檔 音樂
snap test2 模闆 圖檔 下載下傳 桌面
hc@hc-virtual-machine:~$ cd test2/
hc@hc-virtual-machine:~/test2$ ls
test22
3:建立權限為777的目錄
指令:
mkdir -m 777 test3
輸出:
hc@hc-virtual-machine:~/test2$ mkdir -m 777 test3
hc@hc-virtual-machine:~/test2$ ll
總用量 16
drwxrwxr-x 4 hc hc 4096 10月 25 09:13 ./
drwxr-xr-x 25 hc hc 4096 10月 25 09:11 ../
drwxrwxr-x 2 hc hc 4096 10月 25 09:11 test22/
drwxrwxrwx 2 hc hc 4096 10月 25 09:13 test3/
說明:
ll 與 ls -l 指令效果相同
test3 的權限為rwxrwxrwx
4:建立新目錄并顯示建立資訊
指令:
mkdir -v test4
輸出:
hc@hc-virtual-machine:~/test2$ mkdir -v test4
mkdir: 已建立目錄 'test4'
hc@hc-virtual-machine:~/test2$ ls
test22 test3 test4
5:建立目錄及其子目錄并顯示建立資訊
指令:
mkdir -vp test5/test5-1
輸出:
hc@hc-virtual-machine:~/test2$ mkdir -vp test5/test5-1
mkdir: 已建立目錄 'test5'
mkdir: 已建立目錄 'test5/test5-1'
hc@hc-virtual-machine:~/test2$ ls
test22 test3 test4 test5
hc@hc-virtual-machine:~/test2$ cd test5/
hc@hc-virtual-machine:~/test2/test5$ ls
test5-1
6. 通過一個指令建立出項目的目錄結構
指令:
mkdir -vp scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
輸出:
hc@hc-virtual-machine:~/test2/test5$ ls
test5-1
hc@hc-virtual-machine:~/test2/test5$ pwd
/home/hc/test2/test5
hc@hc-virtual-machine:~/test2/test5$ 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'
hc@hc-virtual-machine:~/test2/test5$ ls
scf test5-1
hc@hc-virtual-machine:~/test2/test5$ tree scf/
scf/
├── bin
├── doc
│ ├── info
│ └── product
├── lib
├── logs
│ ├── info
│ └── product
└── service
└── deploy
├── info
└── product
12 directories, 0 files
hc@hc-virtual-machine:~/test2/test5$
說明:
tree指令可以用來檢視目錄樹,需要自行安裝後才能使用,Ubuntu安裝指令: apt install tree
__EOF__
關注 工 仲 好:IT運維大學營,擷取60個G的《網工系統大禮包》
V:glab-mary
轉載:https://www.cnblogs.com/huchong/p/9847844.html