概述
`stat` 命令顯示文件的 inode 資訊(元數據)。`-c` 選項允許您以自定義格式輸出此資訊,使其適合提取特定屬性或與其他命令組合使用。
主要特點
- 查詢文件和文件系統的詳細元數據
- 支援通過 `-c` 選項進行自定義輸出格式
- 對腳本和自動化任務很有用
- 存取各種文件屬性(大小、權限、所有者、時間等)
主要選項
與 `stat` 命令的核心 `-c` 選項一起使用的主要格式指定符。
格式指定選項
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`stat` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
使用 `stat -c` 選項以不同格式輸出文件資訊的範例。
輸出文件名和大小
stat -c '%n %s' my_file.txt
以空格分隔輸出指定文件的名稱和大小。
輸出文件類型和權限
stat -c '%F %A' my_script.sh
輸出文件的類型和人類可讀的權限格式。
輸出所有者、組和最後修改時間
stat -c 'Owner: %U, Group: %G, Modified: %y' my_document.pdf
以特定字串輸出文件的所有者名稱、組名稱和最後修改時間。
檢查符號鏈接目標
stat -c '%N' my_symlink
對於符號鏈接,輸出包含鏈接到的原始文件路徑。
輸出當前目錄中所有文件/目錄的名稱和大小
stat -c '%n %s' *
使用萬用字元輸出當前目錄中所有項目的名稱和大小。
提示與注意事項
有效使用 `stat -c` 的提示和注意事項。
使用引號
如果 FORMAT 字串包含空格或特殊字元,應將其用單引號(')或雙引號(")括起來,以防止 shell 將其解釋為單獨的參數。
- 單引號('):適用於防止變數擴展並原樣傳遞字串。
- 雙引號("):適用於在允許變數擴展時將字串括起來。
時間格式
時間相關的指定符(%x、%y、%z)預設以人類可讀的格式輸出。若要獲取以秒為單位的時間戳,請使用 `%X`、`%Y`、`%Z`。
與 find 命令組合使用
find . -maxdepth 1 -type f -exec stat -c '%n %s' {} \;
可以與 `find` 命令的 `-exec` 選項組合使用,對滿足特定條件的文件執行 `stat -c`。
作業系統差異
某些格式指定符可能因作業系統或 `stat` 版本而異或不受支援。例如,`%w`(創建時間)指定符在 Linux 上通常不受支援,僅在 macOS/BSD 上可用。
- Linux: 通常使用 `coreutils` 套件中的 `stat` 版本。
- macOS/BSD: 某些格式指定符(例如 `%w`)的行為可能有所不同。