需統計目錄下子資料夾與檔案總數時,find、tree、du 三種指令結果可能不同。本文實測比較並給出建議。

# 所有子目錄數 (含父目錄)
find pma -type d | wc -l # 125
find pma/ -type d | wc -l # 125
# 僅統計子目錄 (不含父目錄)
find pma/* -type d | wc -l # 124 ← 正確
# 所有檔案數
find pma -type f | wc -l # 987
find pma/ -type f | wc -l # 987
find pma/* -type f | wc -l # 987
差異原因:pma/* 不包含父目錄本身,輸出從第一層子目錄開始。
tree pma
# 124 directories, 984 files ← 檔案數少 3 個
du -ah pma/* | wc -l # 1111
# 子目錄 124 + 檔案 987 = 1111,結果正確
find 配合 wc -l 最準確;tree 可能漏計檔案;du 需扣除目錄數才能得出檔案數。建議統一使用 find。
RedHat 配置 KVM 網橋橋接網路:修改 ifcfg-eth2 與 ifcfg-br0 實現虛擬機直通外網
Linux 動態函式庫 建立與鏈結實戰:從 .so 產生到執行期載入
Linux 將純文字檔轉換為 PDF 兩步驟完成 (enscript + ghostscript)
Ubuntu 編譯 PARSEC 2.1 出現 pod2man 錯誤的解決方案
Linux 系統重啟/關機指令完整指南:shutdown、reboot、halt、systemctl、telinit 差異與最佳實務
紅旗 Linux 桌面 5.0 安裝與使用 SAP GUI 客戶端完整教學
SSH 連線 Linux 主機緩慢?排除 DNS 反向解析延遲的完整指南
Linux Vsftpd 500 OOPS: cannot change directory 徹底解決(SELinux 篇)