您好,登錄后才能下訂單哦!
這篇文章的內(nèi)容主要圍繞Linux系統(tǒng)mkdir命令怎樣理解進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
Linux系統(tǒng)中mkdir命令創(chuàng)建指定的目錄名,要求創(chuàng)建目錄的用戶在當(dāng)前目錄中具有寫權(quán)限,并且指定的目錄名不能是當(dāng)前目錄中已有的目錄。
mkdir [-p] dirName
-p 確保目錄名稱存在,不存在的就建一個(gè)。
如果 test 目錄不存在,那么會(huì)創(chuàng)建這個(gè)目錄,否則會(huì)提示創(chuàng)建失敗,如下
~ $ mkdir test mkdir: 無法創(chuàng)建目錄"test": 文件已存在 12
在命令行提示創(chuàng)建失敗,其實(shí)沒有任何影響,但是在 shell 腳本中就有影響了,這個(gè)命令的退出狀態(tài)是 1,表示執(zhí)行失敗,這會(huì)影響腳本后面的邏輯。那么有沒有辦法,在目錄已經(jīng)存在的情況下,執(zhí)行 mkdir 命令不會(huì)報(bào)錯(cuò)呢?使用 -p 選項(xiàng)
~ $ ls -d test test ~ $ mkdir -p test ~ $ echo $? 0 12345
可以看到,在 test 目錄存在的情況下,如果使用 -p 選項(xiàng)創(chuàng)建 test 目錄,那么退出狀態(tài)是 0,也就是命令執(zhí)行成功,這在 shell 腳本中非常有用。
-p 選項(xiàng)其實(shí)還有另外一個(gè)作用,那就是創(chuàng)建多級(jí)目錄
~ $ ls test/ hello.c world.c ~ $ mkdir test/dir1/dir2 mkdir: 無法創(chuàng)建目錄"test/dir1/dir2": 沒有那個(gè)文件或目錄 ~ $ mkdir -p test/dir1/dir2 ~ $ tree test test ├── dir1 │ └── dir2 ├── hello.c └── world.c 2 directories, 2 files 12345678910111213
可以看到,如果不使用 -p 選項(xiàng),那么是無法創(chuàng)建多級(jí)目錄的。
通過 -m 選項(xiàng)可以指定創(chuàng)建目錄的權(quán)限,例如
~ $ mkdir -m 744 hello ~ $ ls -ld hello drwxr--r-- 2 david david 4096 9月 29 15:08 hello 123
我們可以發(fā)現(xiàn) hello 目錄的權(quán)限正好對(duì)應(yīng) 744 ,而并沒有受 umask 值的影響。
這只是創(chuàng)建一級(jí)目錄,如果創(chuàng)建的是多級(jí)目錄呢?
~ $ umask 0022 ~$ ~ $ mkdir -p -m 744 hello/world/david ~$ ~ $ ls -ld hello/world/ drwxr-xr-x 3 umi umi 4096 9月 29 15:16 hello/world/ ~$ ~ $ ls -ld hello/world/david/ drwxr--r-- 2 umi umi 4096 9月 29 15:16 hello/world/david/ 12345678910
通過mkdir -p -m 744 hello/world/david 創(chuàng)建了兩個(gè)目錄 world 和 david,但是只有 david 目錄的權(quán)限才是指定的 744,而 world 目錄是 755,這是因?yàn)?world 目錄受 umaks 影響了。
感謝你的閱讀,相信你對(duì)“Linux系統(tǒng)mkdir命令怎樣理解”這一問題有一定的了解,快去動(dòng)手實(shí)踐吧,如果想了解更多相關(guān)知識(shí)點(diǎn),可以關(guān)注億速云網(wǎng)站!小編會(huì)繼續(xù)為大家?guī)砀玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。