linux每日命令(5):mkdir命令

聽風。發表於2018-10-25

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

相關文章