1. 程式人生 > >每天一個Linux命令4(mkdir命令)

每天一個Linux命令4(mkdir命令)

Linux mkdir 命令用來創建制定的名稱的目錄,要求建立目錄的使用者在當前目錄中具有寫許可權,並且指定的目錄名不能是當前目錄中已有的目錄。

命令格式

mkdir [選項] 目錄...

命令功能

通過mkdir命令可以實現在指定位置建立以DirName(指定的檔名)命名的資料夾或目錄。要建立資料夾或目錄的使用者必須對所建立的資料夾的父資料夾具有寫許可權。並且,所建立的資料夾(目錄)不能與其父目錄(即父資料夾)中的檔名重名,即同一個目錄下不能有同名的(區分大小寫)。

命令引數

-m [mode模式,設定許可權<模式>,而不是rwxrwxrwx減umask]

-p [parents 可以是一個路徑名稱。此時若路徑中的某學目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。]

-v [verbose 每次建立新目錄都顯示資訊]

-help [顯示此幫助資訊並退出]

-version [輸出本本資訊並退出]

命令例項

例項1: 建立一個空目錄

命令:mkdir test1
輸出:

lenovo@zyh:~$ mkdir test1
lenovo@zyh:~$ ls
examples.desktop    java   zyhGit  模板  圖片  下載  桌面
hs_err_pid3482.log  test1  公共的  視訊  文件  音樂

例項2: 遞迴建立多個目錄(必須加 -p)

命令: mkdir test2/test22
輸出:

lenovo@zyh:~$ cd test1/
lenovo@zyh:~/test1$ ls
lenovo@zyh:~/test1$ pwd
/home/lenovo/test1
lenovo@zyh:~/test1$ mkdir -p test2/test22
lenovo@zyh:~/test1$ ll
總用量 12
drwxrwxr-x  3 lenovo lenovo 4096 22 23:48 ./
drwxr-xr-x 39 lenovo lenovo 4096 22 23:46 ../
drwxrwxr-x  3
lenovo lenovo 4096 22 23:48 test2/ lenovo@zyh:~/test1$ cd test2/ lenovo@zyh:~/test1/test2$ ll 總用量 12 drwxrwxr-x 3 lenovo lenovo 4096 22 23:48 ./ drwxrwxr-x 3 lenovo lenovo 4096 22 23:48 ../ drwxrwxr-x 2 lenovo lenovo 4096 22 23:48 test22/ lenovo@zyh:~/test1/test2$

例項3: 建立許可權為777的目錄

命令: mkdir -m 777 test3
輸出:

lenovo@zyh:~/test1$ pwd
/home/lenovo/test1
lenovo@zyh:~/test1$ mkdir -m 777 test3
lenovo@zyh:~/test1$ ll
總用量 16
drwxrwxr-x  4 lenovo lenovo 4096 22 23:52 ./
drwxr-xr-x 39 lenovo lenovo 4096 22 23:46 ../
drwxrwxr-x  3 lenovo lenovo 4096 22 23:48 test2/
drwxrwxrwx  2 lenovo 

說明: test3de許可權為rwxrwxrwx

例項4: 建立新目錄都要顯示資訊

命令: mkdir -v test4

輸出:

lenovo@zyh:~/test1$ pwd
/home/lenovo/test1
lenovo@zyh:~/test1$ mkdir -v test4
mkdir: 已建立目錄 'test4'
lenovo@zyh:~/test1$ mkdir -vp test5/test5-1
mkdir: 已建立目錄 'test5'
mkdir: 已建立目錄 'test5/test5-1'
lenovo@zyh:~/test1$ 

例項5: 一個命令建立專案的目錄結構

命令:

lenovo@zyh:~/test1$ pwd
/home/lenovo/test1
lenovo@zyh:~/test1$ mkdir -vp scf/{lib/,bin/,doc /{info,product},logs/{info,product},service/deploy /{info,product}}

輸出:

lenovo@zyh:~/test1$ pwd
/home/lenovo/test1
lenovo@zyh:~/test1$ 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'
lenovo@zyh:~/test1$ tree scf
scf
├── bin
├── doc
│   ├── info
│   └── product
├── lib
├── logs
│   ├── info
│   └── product
└── service
    └── deploy
        ├── info
        └── product

12 directories, 0 files

說明: 感覺第五個很好玩,之前並沒有這麼建過專案目錄.