ls(List)是最基礎也最高頻的指令,但 90% 人只用 ls -l。本文詳細解析 20+ 參數、長格式輸出七大欄位含義、檔案類型識別碼、排序與顯示控制技巧,讓你真正讀懂目錄清單。
| 類別 | 參數 | 功能 |
|---|---|---|
| 顯示控制 | -a | 顯示隱藏檔(以 . 開頭) |
-A | 顯示隱藏檔但不顯示 . 與 .. | |
-d | 只顯示目錄本身,不列出內容 | |
| 格式控制 | -l | 長格式(權限、連結數、擁有者、群組、大小、時間、名稱) |
-h | 人類可讀大小(K/M/G),搭配 -l 使用 | |
-s | 顯示區塊數(預設 1K 區塊) | |
-F / -p | 名稱後附加類型標識(*/=>@|) | |
| 排序控制 | -t | 依修改時間排序(新→舊) |
-u | 依存取時間排序 | |
-S | 依檔案大小排序(大→小) | |
-r | 反向排序 | |
| 輸出佈局 | -C | 直欄輸出(預設) |
-x | 橫向排序 | |
-m | 逗號分隔橫向輸出 | |
| 其他 | -R | 遞歸列出子目錄 |
| 其他 | -Q | 雙引號括住檔名 |
| 其他 | -i | 顯示 inode 號 |
| 其他 | -n | 以 UID/GID 數字顯示擁有者 |
ls -l 七大欄位深度解讀-rw-r--r-- 1 root root 1666 Jul 22 17:37 inittab drwx------ 3 mysql mysql 4096 Oct 10 2007 mysql lrwxrwxrwx 1 root root 10 Jul 7 22:43 mount -> /bin/mount
- 一般檔、d 目錄、l 符號連結、b 區塊裝置、c 字元裝置、p FIFO、s Sockets (SUID/SGID)、t (Sticky bit)、S/T (無執行權限但設特殊位)-n)mtime,-u 看 atime,-c 看 ctimetarget -> source-F 速查| 標識 | 類型 |
|---|---|
* | 可執行一般檔 |
/ | 目錄 |
@ | 符號連結 |
| | FIFO (命名管道) |
= | Socket |
>> | 門 |
| (無) | 一般檔 |
ls -lhS:長格式 + 人類可讀 + 大小排序 → 快速找出大檔案ls -ltr:長格式 + 時間反向 → 最新修改檔案在最後,適合尾部查看ls -d */:只列出當前目錄下的子目錄名ls -l --time-style=full-iso:完整 ISO 8601 時間格式(含秒、時區),利於腳本解析ls -lZ(RHEL/CentOS):顯示 SELinux 安全性文本ls -l --block-size=1M:強制以 MB 顯示大小ls 是「檔案系統的顯微鏡」。精通權限位解讀、善用排序/顯示組合、識別特殊檔案類型,能在秒級定位「為什麼無法執行」、「誰佔用空間最大」、「SELinux 是否阻擋存取」。養成 ls -lh 肌肉記憶,是 Linux 使用者的基本功。