在 Linux 下用 mkdir 命令來建立目錄和子目錄
mkdir 是什麼呢
Mkdir 是一個用來在 Linux 系統下建立目錄的命令。此命令屬於內建命令。
執行 mkdir 命令
你可以在你的控制檯直接鍵入 mkdir 來使用它。
- $ mkdir
預設情況下,不帶任何引數執行 mkdir 命令會在當前目錄下建立目錄。下面是參考示例:
mkdir command
從上圖看出,我們建立了名為 office 的目錄。當我們執行 mkdir 命令時,我們位於 /home/pungki 目錄。所以這個新目錄 office 建立在/home/pungki目錄下。如果我們使用絕對路徑 - 例如:/usr/local - , 則 Linux 會在 /usr/local
當 Linux 發現想要建立的目錄已經存在, 那麼 Linux 會提示我們 Linux 無法建立它。
mkdir directory exist
另外一個建立目錄的首要條件是, 在想要建立目錄的目標路徑下你必須具有訪問許可權。當你無法取得許可權時 mkdir 會報告這個錯誤。
mkdir permission denied
建立多個目錄
我們也可以同時建立多個目錄。比如我們要建立的目錄有 ubuntu, redhat 和 slackware。那麼語法會像這樣子:
- $ mkdir ubuntu redhat slackware
create multiple directories
新增包含子目錄的目錄 [譯註:遞迴地建立目錄]
當你要建立的目錄包含子目錄時,你需要使用 -p 引數。如果 mkdir 找不到父目錄,那麼這個引數會首先幫助建立父目錄。比如說我們要建立名為 letter 的目錄,在它的目錄下包含有子目錄 important。那麼語法會像這樣子:
- $ mkdir -p letter/important
mkdir sub-directory
設定訪問許可權
使用 -m 引數,我們可以給即將生成的新目錄設定許可權。示例如下:
- $ mkdir -m=r-- letter
上面的命令會建立一個名為 letter 的目錄,同時為目錄所有者、使用者組和其他使用者
mkdir set privilege
列印建立目錄的過程資訊
如果我們要檢視資訊,我們可以使用 -v 引數來實現。示例如下:
- $ mkdir -v ubuntu redhat slackware
mkdir verbose
總結
Mkdir 命令也屬於一個最基礎的命令,對於想要學習 Linux 的朋友這個命令必須掌握。像往常一樣,你可以鍵入man mkdir或mkdir --help來顯示 mkdir 的手冊頁面和更加深入的探討。
最後附上鳥哥的總結:
[[email protected] ~]# mkdir [-mp] 目錄名稱 選項與引數: -m :配置檔案的許可權喔!直接配置,不需要看預設許可權 (umask) 的臉色~ -p :幫助你直接將所需要的目錄(包含上一級目錄)遞迴建立起來! 範例:請到/tmp底下嘗試建立數個新目錄看看: [[email protected] ~]# cd /tmp [[email protected] tmp]# mkdir test <==建立一名為 test 的新目錄 [[email protected] tmp]# mkdir test1/test2/test3/test4 mkdir: cannot create directory `test1/test2/test3/test4': No such file or directory <== 沒辦法直接建立此目錄啊! [[email protected] tmp]# mkdir -p test1/test2/test3/test4 # 加了這個 -p 的選項,可以自行幫你建立多層目錄! 範例:建立許可權為rwx--x--x的目錄 [[email protected] tmp]# mkdir -m 711 test2 [[email protected] tmp]# ls -l drwxr-xr-x 3 root root 4096 Jul 18 12:50 test drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1 drwx--x--x 2 root root 4096 Jul 18 12:54 test2 # 仔細看上面的許可權部分,如果沒有加上 -m 來強制配置屬性,系統會使用預設屬性。 # 那麼你的預設屬性為何?這要透過底下介紹的 umask 才能瞭解喔! ^_^ |