如何在 Linux 系統中使用 Bash 的 mkdir 指令建立目錄

若要在 Linux 系統中使用 Bash 建立目錄,請使用 `bash create mkdirdirectory` 指令,後面接著目錄名稱。例如,`bash create directory`指令會在目前工作目錄下mkdir projects建立一個名為 `/etc/bash` 的資料夾projects。建立目錄不需要單獨的檔案管理器或額外的軟體包。

嚴格來說,mkdir`mkdir` 並不是 Bash 內建函數。 Bash 運行的是系統上安裝的目錄創建工具;在典型的 GNU/Linux 發行版中,該工具來自 GNU Coreutils。目前的GNU Coreutils `mkdir` 文件描述了標準語法和一些有用的選項,例如-p`--name`、-m`--require` 和`--require` -v。

使用 mkdir 建立目錄

打開終端,如有必要,使用命令pwd檢查目前位置。然後運行:

mkdir projects

如果命令執行成功,通常不會輸出任何內容。請使用以下指令確認新目錄:

ls
Linux 終端機顯示執行 `mkdir projects` 指令,然後執行 `ls` 指令,可以看到新建立的 projects 目錄。
在目前位置建立一個目錄mkdir。

你也可以指定mkdir路徑。在 Bash 中,未加引號的路徑~會展開為你的家目錄,因此這會archives在你的家目錄下建立檔案:

mkdir ~/archives

Bash手冊中關於波浪號擴展的說明解釋了波浪號~的擴展方式。如果父目錄不存在,直接使用波浪號mkdir會失敗;-p對於嵌套路徑,請使用波浪號擴充。

使用 mkdir -p 建立嵌套目錄

“-p或”--parents選項會根據需要建立缺少的父目錄。當您需要建立更深層的目錄樹時,這是最方便的選擇:

mkdir -p ~/work/client/site/assets

如果路徑元素work、目錄client或子路徑site尚不存在,mkdir -p則會自動建立。即使現有路徑元素已經是目錄,也不會因為該元素是目錄而報錯。

Linux 終端機顯示 mkdir -p 建立巢狀路徑 work client site assets
mkdir -p一條指令即可建立缺少的父目錄。

對於腳本,您可以新增選項-v,以便在需要時顯示已建立內容的確認訊息:

mkdir -pv ~/work/client/site/assets

一次建立多個目錄

mkdir可以接受多個目錄名稱,因此您可以使用單一命令建立多個資料夾:

mkdir docs images backups

由於本指南使用 Bash,因此當多個目錄名稱共用相同路徑時,您也可以使用花括號擴充:

mkdir -p project/{src,tests,docs}

Bash 會在執行 `\n` 之前展開該表達式mkdir,產生 `\n` project/src、 `\n`project/tests和 ` project/docs\n`。 GNU Bash 在其花括號展開參考文件中記錄了這種行為。花括號展開式是 Bash 的特性,因此不要假設嚴格按照 POSIX 標準執行的腳本sh會以相同的方式解釋它。

Linux 終端機顯示 mkdir -p 專案大括號展開建立 src 測試和 docs 目錄
Bash 花括號展開是一種創建多個相關目錄的簡潔方法。

目錄名稱包含空格和自訂權限

如果目錄名稱包含空格,當它是相對於目前目錄的相對目錄時,請用引號將整個名稱括起來:

mkdir "Project Files"

對於主目錄下的路徑,使用$HOME雙引號比直接引用波浪號更安全:

mkdir "$HOME/Project Files"

不要編寫程式碼mkdir "~/Project Files"並期望~展開;引用波浪號會阻止波浪號的正常展開。

GNUmkdir也支援-m設定新目錄的權限模式。例如:

mkdir -m 750 private

此請求會為擁有者請求讀取、寫入和執行權限,為群組請求讀取和執行權限,並不為其他使用者請求任何權限。請使用以下命令檢查結果:

ls -ld private
Linux 終端機顯示使用引號的目錄名稱建立目錄,然後執行 `mkdir -m 750` 指令,最後執行 `ls -ld` 指令輸出權限資訊。
引號用於保護包含空格的名稱,同時-m設定請求的目錄權限模式。

常見的 mkdir 錯誤

  • 文件已存在:目標名稱已存在。如果它是嵌套路徑中的現有目錄,mkdir -p則此錯誤可能適用。
  • 檔案或目錄不存在:缺少父路徑。mkdir -p path/to/new/folder當需要自動建立缺少的父路徑時,請使用此選項。
  • 權限不足:您的帳戶無權寫入該位置。請將目錄建立在您擁有的目錄中,或僅在系統位置確實需要時才使用管理員權限。
  • 空格用於分隔名稱:例如,用引號括起路徑mkdir "$HOME/My Projects"。

刪除您建立的目錄

對於空目錄,請使用rmdir:

rmdir projects

GNU Coreutils 的 rmdir 文件確認該rmdir指令會刪除空目錄。如果目錄包含文件,rmdir則不會刪除該目錄。rm -r對於非空目錄,可以使用遞歸刪除,但請務必先仔細檢查路徑,因為它會刪除目錄及其所有內容。

快速指令參考

  • mkdir name— 在目前位置建立目錄。
  • mkdir ~/name— 在您的主目錄下建立一個目錄。
  • mkdir -p a/b/c— 建立巢狀目錄樹並缺少父目錄。
  • mkdir one two three— 一次建立多個目錄。
  • mkdir -p project/{src,tests,docs}— 使用 Bash 花括號展開來表示相關資料夾。
  • mkdir "$HOME/Project Files"— 安全地建立包含空格的家目錄路徑。
  • mkdir -m 750 private— 建立一個具有指定權限模式的目錄。
  • mkdir --help或者man mkdir— 查看本地命令幫助。

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。