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