本文提供 mkdir、rmdir、cd、pwd、ls 五大目錄操作指令的標準語法、所有可用參數與實戰範例,適合離線速查與腳本撰寫參考。
mkdir [選項] 目錄名
| 選項 | 說明 |
|---|---|
-m, --mode=模式 | 設定權限(八進位),如 -m 755 |
-p, --parents | 遞歸建立父目錄,不報錯若已存在 |
-v, --verbose | 顯示每個建立的目錄 |
-Z | 設定 SELinux 安全內容(預設) |
rmdir [選項] 目錄名...
| 選項 | 說明 |
|---|---|
-p, --parents | 遞歸刪除父目錄(子目錄刪除後若空) |
-v, --verbose | 顯示處理過程 |
--ignore-fail-on-non-empty | 忽略非空目錄錯誤 |
注意:目錄必須為空。非空目錄請用 rm -r(謹慎)。
cd [目錄]
$HOMEcd - → 切回上一目錄($OLDPWD)~、..、通配符pwd [選項]
-L, --logical 使用環境變數 PWD(含符號連結)
-P, --physical 解析符號連結顯示實體路徑
ls [選項]... [檔案]...
| 類別 | 選項 | 說明 |
|---|---|---|
| 顯示控制 | -a, --all | 含隱藏檔 |
-A, --almost-all | 含隱藏檔但不顯示 . .. | |
-d, --directory | 目錄本身而非內容 | |
-F, --classify | 附加類型標記(/ * @ | =) | |
| 格式化 | -l | 長格式(權限、擁有者、大小、時間) |
-h, --human-readable | 搭配 -l 顯示 K/M/G | |
-1 | 單欄輸出 | |
-m | 逗號分隔串流輸出 | |
| 排序 | -t | 修改時間新→舊 |
-r, --reverse | 反向排序 | |
-S | 檔案大小大→小 | |
-X | 依副檔名排序 | |
-f | 不排序(關閉 -l -t -S) | |
| 遞歸 | -R, --recursive | 遞歸子目錄 |
| 其他常用 | -i | 顯示 inode |
-n | 數字 UID/GID 而非名稱 |
ls -l)drwxr-xr-x 2 root root 4096 Jun 1 12:00 dirname
││││││││ │ │ │ │ │
││││││││ │ │ │ │ └─ 檔名
││││││││ │ │ │ └─ 修改時間
││││││││ │ │ └─ 大小(位元組)
││││││││ │ └─ 群組名
││││││││ └─ 擁有者名
│││││││└─ 硬連結數
││││││└─ 權限位(9 位)
│││││└─ 檔案類型:d 目錄 - 檔案 l 連結 b/c 裝置
└─ 其餘權限位:r 讀 w 寫 x 執行 s S t T
# 建立巢狀目錄並顯示過程
mkdir -pv /opt/app/{bin,conf,data,logs}
# 刪除空目錄樹
rmdir -pv /tmp/a/b/c
# 詳細列出含隱藏檔、人類可讀、時間排序
ls -lhAt /etc
# 遞歸找出最大檔案前 5
ls -lhRS /var/log | sort -k5 -hr | head -5
參數表雖長,實戰常用者有限。建議先熟記
mkdir -p、ls -lhA、cd -三大黃金組合,覆蓋 90% 日常場景。