先把檔案的路徑、類型、大小、權限與時間看清楚,通常比直接打開或搬動更快找到問題。GNU 與 BSD 的 stat 格式參數差很多,頁面會分開標示。
動手前:顯示結果可能包含帳號、路徑與檔名等敏感資訊,貼到外部工單前先遮蔽。不要把 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.pdfGNU file 常用;macOS 版本參數可能不同。
看符號連結保存的路徑Linux/macOS
readlink app-current不會自動轉成絕對路徑。
解析成完整實際路徑Linux
realpath app-currentmacOS 是否內建依版本而異,可用 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.confBSD 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 或系統內建說明確認,再以當版官方文件為準。