mkdir 命令用來創建指定的名稱的目錄,要求創建目錄的用戶在當前目錄中具有寫權限,並且指定的目錄名不能是當前目錄中已有的目錄。
1. 創建一個空目錄
[yalishanda@bogon Documents]$ ls a oldboy [yalishanda@bogon Documents]$ mkdir a mkdir: cannot create directory ‘a’: File exists [yalishanda@bogon Documents]$ mkdir ssss [yalishanda@bogon Documents]$ ll total 0 drwxrwxr-x. 3 yalishanda yalishanda 14 Nov 14 22:31 a drwxrwxr-x. 2 yalishanda yalishanda 6 Nov 14 22:31 oldboy drwxrwxr-x. 2 yalishanda yalishanda 6 Nov 15 16:38 ssss [yalishanda@bogon Documents]$
2.遞歸創建多個目錄
[yalishanda@bogon Documents]$ pwd
/home/yalishanda/Documents
[yalishanda@bogon Documents]$ tree
.
├── a
│ └── b
│ └── c
├── oldboy
└── ssss
5 directories, 0 files
[yalishanda@bogon Documents]$ mkdir -p bll/son
[yalishanda@bogon Documents]$ tree
.
├── a
│ └── b
│ └── c
├── bll
│ └── son
├── oldboy
└── ssss
7 directories, 0 files
[yalishanda@bogon Documents]$
3.創建權限為777的文件
[yalishanda@bogon Documents]$ pwd
/home/yalishanda/Documents
[yalishanda@bogon Documents]$ ls -l
total 0
drwxrwxr-x. 3 yalishanda yalishanda 14 Nov 14 22:31 a
drwxrwxr-x. 3 yalishanda yalishanda 16 Nov 15 16:40 bll
drwxrwxr-x. 2 yalishanda yalishanda 6 Nov 14 22:31 oldboy
drwxrwxr-x. 2 yalishanda yalishanda 6 Nov 15 16:38 ssss
[yalishanda@bogon Documents]$ mkdir -m tests
mkdir: missing operand
Try 'mkdir --help' for more information.
[yalishanda@bogon Documents]$ mkdir -m 777 tests
[yalishanda@bogon Documents]$ ls -l
total 0
drwxrwxr-x. 3 yalishanda yalishanda 14 Nov 14 22:31 a
drwxrwxr-x. 3 yalishanda yalishanda 16 Nov 15 16:40 bll
drwxrwxr-x. 2 yalishanda yalishanda 6 Nov 14 22:31 oldboy
drwxrwxr-x. 2 yalishanda yalishanda 6 Nov 15 16:38 ssss
drwxrwxrwx. 2 yalishanda yalishanda 6 Nov 15 16:42 tests
[yalishanda@bogon Documents]$
r[read讀]---4
w[write寫]---2
x[excute執行]---1
-[應該是咩有相關權限]---0
rwxrwxrwx是三位一組,即:rwx[4+2+1=7]rwx[4+2+1=7]rwx[4+2+1=7]
tests 文件夾的權限是 rwxrwxrwx[即777]
oldboy文件夾的權限是 rwxrwxr-x[即775]
4.創建新目錄都顯示信息
[yalishanda@bogon Documents]$ tree
.
├── a
│ └── b
│ └── c
├── bll
│ └── son
├── oldboy
├── ssss
└── tests
8 directories, 0 files
[yalishanda@bogon Documents]$ mkdir -v fff
mkdir: created directory ‘fff’
[yalishanda@bogon Documents]$ mkdir -vp ggg/zhus
mkdir: created directory ‘ggg’
mkdir: created directory ‘ggg/zhus’
[yalishanda@bogon Documents]$
5.創建目錄樹
壞習慣
~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $
使用 mkdir
的 -p
選項並在單個命令中創建所有父目錄及其子目錄要容易得多。但是即使對於知道此選項的管理員,他們在命令行上創建子目錄時也仍然束縛於逐步創建每級子目錄。花時間有意識地養成這個好習慣是值得的:
好習慣 1 的示例:使用一個命令來定義目錄樹
~ $ mkdir -p tmp/a/b/c
好習慣 1 的另一個示例:使用一個命令來定義復雜的目錄樹
[yalishanda@bogon Documents]$ tree
.
├── a
│ └── b
│ └── c
├── bll
│ └── son
├── fff
├── ggg
│ └── zhus
├── oldboy
├── ssss
└── tests
11 directories, 0 files
[yalishanda@bogon Documents]$ clsar
bash: clsar: command not found...
[yalishanda@bogon Documents]$ clear
[3;J
[yalishanda@bogon Documents]$ mkdir -vp project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}
mkdir: created directory ‘project’
mkdir: created directory ‘project/lib’
mkdir: created directory ‘project/lib/ext’
mkdir: created directory ‘project/bin’
mkdir: created directory ‘project/src’
mkdir: created directory ‘project/doc’
mkdir: created directory ‘project/doc/html’
mkdir: created directory ‘project/doc/info’
mkdir: created directory ‘project/doc/pdf’
mkdir: created directory ‘project/demo’
mkdir: created directory ‘project/demo/stat’
mkdir: created directory ‘project/demo/stat/a’
[yalishanda@bogon Documents]$ tree
.
├── a
│ └── b
│ └── c
├── bll
│ └── son
├── fff
├── ggg
│ └── zhus
├── oldboy
├── project
│ ├── bin
│ ├── demo
│ │ └── stat
│ │ └── a
│ ├── doc
│ │ ├── html
│ │ ├── info
│ │ └── pdf
│ ├── lib
│ │ └── ext
│ └── src
├── ssss
└── tests
23 directories, 0 files
[yalishanda@bogon Documents]$