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