如何在 Linux 中使用 mkdir 命令創(chuàng)建目錄
摘要:在本指南中,我們將了解用于創(chuàng)建目錄的 mkdir 命令。我們還將討論一些最佳示例,幫助初學(xué)者自信地運(yùn)行 Linux 操作系統(tǒng)。
作為 Linux 用戶,我們經(jīng)常使用文件和目錄。文件使我們能夠存儲(chǔ)有價(jià)值的信息,而數(shù)據(jù)庫使我們能夠以正確的順序組織文件。除此之外,我們通常會(huì)創(chuàng)建一個(gè)分層的網(wǎng)頁布局,以正確的順序組織內(nèi)容。
在這篇適合初學(xué)者的文章中,我們將了解 mkdir 命令。顧名思義,mkdir 命令用于為給定路徑中的目錄創(chuàng)建一個(gè)名稱,這也允許我們一次創(chuàng)建一個(gè)或多個(gè)具有所需文件權(quán)限的目錄。
需要注意的是,要使用 mkdir 命令,用戶必須對(duì)父目錄具有必要的權(quán)限,否則該命令將失敗并出現(xiàn)權(quán)限被拒絕的錯(cuò)誤。
與其他 Linux 命令一樣,mkdir 命令的語法基本上分為兩類 - 選項(xiàng)和參數(shù):
$ mkdir [ 選項(xiàng) ] ... < 目錄 1 > < 目錄 2 > ...
在上面的字典中,方括號(hào)([])代表可選參數(shù),而方括號(hào)(<>)代表強(qiáng)制參數(shù)。
Linux 中 Mkdir 命令的一般用法
顧名思義,mkdir 是 \make directory 的縮寫形式。好處是,僅當(dāng)給定路徑上沒有相同格式的目錄或文件時(shí),它才會(huì)創(chuàng)建目錄。因此,這是一個(gè)非常安全的命令,并且不會(huì)損壞系統(tǒng)。
在本節(jié)中,我們將看到 mkdir 命令的基本用法和示例。
mkdir 命令的主要用途之一是在給定路徑中創(chuàng)建目錄名。因此,讓我們?cè)诋?dāng)前工作目錄中創(chuàng)建一個(gè)名為 rpm-distros 的目錄:
$ mkdir rpm-發(fā)行版
現(xiàn)在,使用 ls 命令驗(yàn)證該文件夾是否已創(chuàng)建:
$ ls -l
在第一個(gè)示例中,我們使用 mkdir 命令的相對(duì)路徑。但這個(gè)命令也支持全路徑。
我們可以使用pwd命令或pwd環(huán)境變量來查找當(dāng)前活動(dòng)目錄的完整路徑。
因此,讓我們使用完整路徑在當(dāng)前工作目錄中創(chuàng)建一個(gè)命名目錄 - deb-distros:
$mkdir $PWD/deb-distros
現(xiàn)在,檢查是否在當(dāng)前工作目錄中創(chuàng)建了新文件夾:
$ ls -l
mkdir 命令采用多個(gè)路徑作為參數(shù),允許我們一次性創(chuàng)建多個(gè)目錄。
讓我們使用一個(gè)命令在 deb-distros 目錄中創(chuàng)建三個(gè)目錄:
$ mkdir deb-distros/kali-deb-distros/mint deb-distros/ubuntu
現(xiàn)在,讓我們列出 deb-distros 文件夾的內(nèi)容:
$ ls -l deb-發(fā)行版
我們可以看到,mkdir 命令成功創(chuàng)建了幾個(gè)目錄。
在前面的示例中,我們了解了如何使用單個(gè)命令在另一個(gè)文件夾中創(chuàng)建多個(gè)文件夾。但是,這不是最好的方法,因?yàn)槲覀冎付烁肝募A(即 deb-distros)和任何子文件夾的名稱。
為了克服這個(gè)限制,我們可以在大括號(hào)擴(kuò)展中指定子目錄名稱,如下例所示,我們?cè)?rpm-distros 目錄中創(chuàng)建三個(gè)子目錄:
$mkdir rpm-distros/{soul,centos,fedora}
這里我們要注意以下兩點(diǎn):
的
(,)標(biāo)題兩邊沒有空格。
大括號(hào)擴(kuò)展功能僅在 Bash shell 中可用,因此此方法的可移植性較差。
的
現(xiàn)在,讓我們檢查是否已成功創(chuàng)建必要的數(shù)據(jù)庫配置:
$ ls -l rpm 發(fā)行版
在前面的部分中,我們了解了如何創(chuàng)建多個(gè)數(shù)據(jù)庫。但是,如果我們想創(chuàng)建嵌套目錄結(jié)構(gòu),這種方法就行不通了。在這種情況下,-p如有必要,我們可以使用創(chuàng)建父文件夾的命令選項(xiàng)。
讓我們創(chuàng)建一個(gè)嵌套的子目錄結(jié)構(gòu):
$ mkdir -p rpm-distros/centos/8.x/8.1/8.1-1911
現(xiàn)在,遞歸驗(yàn)證 rpm-distros/centos 目錄的內(nèi)容:
$ ls -1R rpm-發(fā)行版/分
正如我們所看到的,該命令執(zhí)行了必要的庫配置,而沒有向現(xiàn)有的父庫報(bào)告錯(cuò)誤。這個(gè)選項(xiàng)在編寫 shell 腳本時(shí)非常有用。我們可以使用它來防止由于現(xiàn)有庫而可能出現(xiàn)的庫創(chuàng)建錯(cuò)誤。
有時(shí)我們需要在創(chuàng)建文件夾后立即更改其訪問權(quán)限。在這種情況下,我們必須使用兩個(gè)命令 - mkdir 和 chmod。但我們可以使用單個(gè)命令獲得相同的結(jié)果。
讓我們使用-m該選項(xiàng)來設(shè)置訪問存儲(chǔ)庫的權(quán)限:
$ mkdir -m 777 dir-1
在本例中,我們使用數(shù)字格式來設(shè)置訪問權(quán)限。同樣的,我們可以利用文本的結(jié)構(gòu)。
例如,我們可以使用以下命令得到相同的結(jié)果:
$mkdir -ma=rwx dir-2
現(xiàn)在,使用 ls 命令確定文件夾的訪問權(quán)限:
$ls-ld dir-2 | $ls-ld dir-2 awk '{打印$1}'
默認(rèn)情況下,創(chuàng)建文件夾后,mkdir 命令不會(huì)在終端上打印任何內(nèi)容。到目前為止,我們一直在使用 ls 命令來檢查該文件夾是否已創(chuàng)建。
為了克服這個(gè)限制,我們可以使用命令的表達(dá)形式,為每個(gè)創(chuàng)建的庫打印一條消息。當(dāng)我們將其與選項(xiàng)結(jié)合使用時(shí),此選項(xiàng)提供了有意義的信息–p:
讓我們使用-v選項(xiàng)和命令來啟用詳細(xì)模式:
$mkdir -p -v dir-1/dir-2/dir-3/dir-4/dir-5
現(xiàn)在,讓我們看看命令的輸出:
在本文中,我們將了解 mkdir 命令的基本用法。首先,我們了解了如何創(chuàng)建單個(gè)數(shù)據(jù)庫以及多個(gè)數(shù)據(jù)庫。接下來,我們了解了如何在執(zhí)行此操作時(shí)設(shè)置文件夾的權(quán)限。最后,我們了解了如何使用詳細(xì)模式驗(yàn)證目錄創(chuàng)建。
您知道 Linux 中 mkdir 命令的其他最佳示例嗎?請(qǐng)?jiān)谙旅娴脑u(píng)論中告訴我們您的看法。