前言
在Linux系統(tǒng)中,您可以從命令行或桌面文件管理器創(chuàng)建新目錄。允許您創(chuàng)建目錄(也稱為文件夾)的命令是mkdir,這個(gè)命令簡(jiǎn)單使用很方便,類似于Windows、MS-DOS下的md命令(其實(shí)NT內(nèi)核也兼容mkdir),但Linux內(nèi)核下,有些參數(shù)需要用上,來(lái)更方便的創(chuàng)建目錄和多層子目錄。
那么我們就開始學(xué)習(xí)一下。
mkdir命令語(yǔ)法(兼容POSIX/UNIX/BSD所有規(guī)范)
Linux mkdir命令的語(yǔ)法如下:
mkdir [OPTION] [DIRECTORY]
該命令可以將一個(gè)或多個(gè)目錄名作為其參數(shù),一般操作就是在當(dāng)前目錄創(chuàng)建。
要使用該mkdir命令創(chuàng)建目錄,您需要對(duì)父目錄具有寫權(quán)限。否則,您將收到權(quán)限被拒絕錯(cuò)誤。
創(chuàng)建新目錄
要使用mkdir命令在Linux中創(chuàng)建目錄,只需將目錄名稱作為參數(shù)傳遞給mkdir命令:
mkdir 文件夾名稱
您可以使用以下ls命令通過(guò)列出內(nèi)容來(lái)驗(yàn)證目錄是否已創(chuàng)建:
ls -l
drwxrwxr-x 2 username username 4096 Jan 20 03:39 文件夾名稱
如果希望mkdir為創(chuàng)建的目錄打印消息,則可以傳遞-v(--verbose)選項(xiàng)。
僅提供目錄名稱時(shí),它將在當(dāng)前工作目錄中創(chuàng)建。當(dāng)前工作目錄是運(yùn)行命令的目錄。您可以使用該pwd命令顯示當(dāng)前工作目錄的位置。要更改當(dāng)前工作目錄,請(qǐng)使用cd(更改目錄)命令。
要在另一個(gè)位置創(chuàng)建目錄,您需要提供父目錄的絕對(duì)或相對(duì)文件路徑。例如,要在目錄中創(chuàng)建新目錄,/tmp請(qǐng)鍵入:
如果您嘗試在父目錄中創(chuàng)建用戶沒(méi)有足夠權(quán)限的目錄,您將收到Permission denied錯(cuò)誤:
mkdir /root/文件夾名稱
mkdir: cannot create directory '/root/newdir': Permission denied
創(chuàng)建父目錄
父目錄是位于目錄樹中另一個(gè)目錄之上的目錄。要?jiǎng)?chuàng)建父目錄,請(qǐng)使用該-p選項(xiàng)。
假設(shè)您要?jiǎng)?chuàng)建目錄/home/linuxize/Music/Rock/Gothic。如果任何父目錄不存在,您將收到錯(cuò)誤,如下所示:
? ??
mkdir /home/linuxize/Music/Rock/Gothic
mkdir: cannot create directory '/home/linuxize/Music/Rock/Gothic': No such file or directory
您可以使用以下-p選項(xiàng),而不是逐個(gè)創(chuàng)建所有缺少的父目錄:
mkdir -p /home/linuxize/Music/Rock/Gothi
使用時(shí)-p,mkdir僅當(dāng)目錄不存在時(shí)才會(huì)創(chuàng)建目錄。
例如,如果您嘗試創(chuàng)建已存在且未使用該-p選項(xiàng)的目錄,則mkdir將打印File exists錯(cuò)誤:
mkdir newdir
mkdir: cannot create directory 'newdir': File exists
創(chuàng)建目錄時(shí)設(shè)置權(quán)限
這個(gè)功能相對(duì)冷門,但是很重要。
要在創(chuàng)建目錄時(shí)設(shè)置權(quán)限,請(qǐng)使用-m(-mode)選項(xiàng)。傳遞權(quán)限的語(yǔ)法與chmod命令的語(yǔ)法相同。
在以下示例中,只有創(chuàng)建它的用戶才能訪問(wèn)新目錄:
mkdir -m 700 newdir
如果該-m選項(xiàng)未傳遞給mdkir,則新創(chuàng)建的目錄將具有775或755權(quán)限,具體取決于umask值。
創(chuàng)建多個(gè)目錄
要?jiǎng)?chuàng)建多個(gè)目錄,請(qǐng)將目錄的名稱指定為參數(shù),以空格分隔:
mkdir dir1 dir2 dir3
mkdir命令還允許您使用一個(gè)命令創(chuàng)建復(fù)雜的目錄樹:
mkdir -p Music/{Jazz/Blues,Folk,Disco,Rock/{Gothic,Punk,Progressive},Classical/Baroque/Early}
這樣一個(gè)子目錄下就能有多個(gè)孫子目錄。
總結(jié)
mkdir非常非常好用,用好了就是事半功倍,大家多體驗(yàn),多嘗試,在平時(shí)開發(fā)和維護(hù)中運(yùn)用好!