- A+
mkdir是一個(gè)用于創(chuàng)建目錄(目錄樹(shù))的?Unix?和?Linux?命令,?-p?選項(xiàng)允許創(chuàng)建一個(gè)目錄和它不存在的父目錄,這篇文章主要介紹了Linux中的mkdir?-p,需要的朋友可以參考下
mkdir?
是一個(gè)用于創(chuàng)建目錄(目錄樹(shù))的 Unix 和 Linux 命令。?-p?
選項(xiàng)允許創(chuàng)建一個(gè)目錄和它不存在的父目錄。換句話說(shuō),?-p?
選項(xiàng)確保了指定的整個(gè)目錄路徑都會(huì)被創(chuàng)建。
基礎(chǔ)用法
如果你只是運(yùn)行?mkdir new_directory?
,這個(gè)命令會(huì)嘗試在當(dāng)前目錄中創(chuàng)建一個(gè)叫做?new_directory?
的新目錄。如果當(dāng)前目錄中已經(jīng)有一個(gè)同名目錄,或者由于某些其他原因(例如權(quán)限問(wèn)題)導(dǎo)致目錄不能被創(chuàng)建,該命令會(huì)失敗。
-p?
選項(xiàng)的用途
當(dāng)使用?-p?
選項(xiàng)時(shí),?mkdir?
會(huì)嘗試創(chuàng)建所有指定的父目錄,并不會(huì)因?yàn)檫@些目錄已經(jīng)存在而出錯(cuò)。
例如:
1
|
mkdir -p dir1 /dir2/dir3/dir4 |
這個(gè)命令會(huì)創(chuàng)建一個(gè)?dir4?
目錄,并確保它的父目錄?dir3?
、?dir2?
和?dir1?
也存在。如果這些目錄中的任何一個(gè)不存在,?mkdir?
會(huì)創(chuàng)建它。
錯(cuò)誤處理
如果目錄已經(jīng)存在,使用?-p?
選項(xiàng)的?mkdir?
命令不會(huì)報(bào)錯(cuò),它會(huì)靜默地成功。這在腳本中是非常有用的,因?yàn)榭赡懿淮_定目錄是否已經(jīng)存在,但需要確保它存在以便進(jìn)行其他操作。
權(quán)限
mkdir -p?
也會(huì)考慮到文件系統(tǒng)的權(quán)限。如果沒(méi)有足夠的權(quán)限創(chuàng)建目錄,該命令會(huì)失敗并返回一個(gè)非零的退出狀態(tài)。
示例
假設(shè)想在一個(gè)嵌套的目錄結(jié)構(gòu)中存儲(chǔ)一些文件,路徑如?./files/images/jpg?
。可以使用以下命令一次性創(chuàng)建所有需要的目錄:
1
|
mkdir -p files /images/jpg |
如果?files?
、?files/images?
或?files/images/jpg?
任何一個(gè)目錄已經(jīng)存在,該命令都會(huì)成功,并確保完整的目錄路徑被創(chuàng)建。