使用 find 遞迴搜尋檔案時,若遇到無權限存取的目錄(如家目錄下的 .gconf、.cache 等),終端會大量輸出 Permission denied 錯誤,嚴重干擾正常結果閱讀。
原文展示的亂碼(?ƒé™???¤Ÿ)實為 Permission denied 在 zh_CN.UTF-8 語系下因終端字型缺失或編碼轉換錯誤導致的顯示異常。切換至英文語系即可正常顯示:
export LANG="en_US.UTF-8"
將 stderr 導向 /dev/null 即可靜默所有錯誤訊息:
find . -name "*.log" 2>/dev/null
2>:重導向檔案描述符 2(標準錯誤)/dev/null:黑洞裝置,丟棄所有寫入資料find / -name "target.txt" 2>find_errors.log
grep -v):
find / -name "*.conf" 2>&1 | grep -v "Permission denied"
若系統允許,使用 sudo find ... 可繞過大多數權限限制,但需謹慎操作以免誤刪系統關鍵檔案。