技術文章 · IT 指令工具箱

Linux 看檔案與目錄:ls、stat、file、tree、readlink 指令

整理 ls、stat、file、tree、readlink、realpath 的常用查法,包含隱藏檔、排序、檔案大小、時間、類型、inode 與符號連結。

作者 Steve Chen · 發布  · 約 3 分鐘閱讀

IT 指令工具箱 — 廷皓技術專欄插圖

先把檔案的路徑、類型、大小、權限與時間看清楚,通常比直接打開或搬動更快找到問題。GNU 與 BSD 的 stat 格式參數差很多,頁面會分開標示。

17 組範例LinuxmacOS查核日期:2026-08-11
動手前:顯示結果可能包含帳號、路徑與檔名等敏感資訊,貼到外部工單前先遮蔽。不要把 ls 的文字輸出拿去當可靠的腳本輸入。

ls 常用顯示

看詳細清單Linux/macOS

ls -l

顯示權限、擁有者、大小與修改時間。

包含隱藏檔Linux/macOS

ls -la

會包含以點開頭的項目。

人類可讀大小Linux/macOS

ls -lh

用 KiB、MiB、GiB 類格式顯示。

依修改時間排序Linux/macOS

ls -lt

最新的通常排在前面。

依修改時間反向排序Linux/macOS

ls -ltr

最舊的排前面,適合找長期未更新檔。

只列目錄本身Linux/macOS

ls -ld folder/

不展開目錄內容,方便看目錄權限。

顯示 inodeLinux/macOS

ls -li

排查硬連結或奇怪檔名時有用。

判斷檔案與連結

判斷實際檔案格式Linux/macOS

file archive.bin

依內容特徵判斷,不只看副檔名。

查看 MIME typeLinux

file --mime-type report.pdf

GNU file 常用;macOS 版本參數可能不同。

看符號連結保存的路徑Linux/macOS

readlink app-current

不會自動轉成絕對路徑。

解析成完整實際路徑Linux

realpath app-current

macOS 是否內建依版本而異,可用 readlink 或 pwd -P。

以樹狀列出兩層tree

tree -L 2 project/

tree 可能要另行安裝;避免對超大目錄不設深度。

樹狀清單包含隱藏檔tree

tree -a -L 2 project/

可能包含 .env 等敏感檔名,分享前先審核。

stat 詳細資料

查看 Linux 檔案詳細資料GNU/Linux

stat app.conf

包含大小、inode、權限與三種時間。

只輸出 Linux 權限八進位GNU/Linux

stat -c '%a %U:%G %n' app.conf

適合產生簡短盤點結果。

查看 macOS 檔案詳細資料macOS

stat -x app.conf

BSD stat 使用 -x 顯示較易讀格式。

只輸出 macOS 權限與擁有者macOS

stat -f '%Lp %Su:%Sg %N' app.conf

-f 是 BSD 格式字串,不同於 GNU stat。

怎麼確認有做對

  • 用 file 與副檔名交叉確認。
  • 用 stat 核對權限、擁有者、大小與時間。
  • 符號連結應用 readlink 並確認目標存在。

常見錯誤

  • 把 Linux 的 stat -c 複製到 macOS。
  • 只用 ls 判斷檔案類型。
  • 在含敏感檔名的目錄執行 tree 後把結果原樣貼到公開場合。
  • 腳本解析 ls -l,遇到空白或語系就壞掉。

版本與官方文件

參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。

聯絡廷皓討論 看更多文章