由於本人記憶力不佳
要使用的時候,偶爾會打錯指令
所以紀錄一下自己常用的指令
kubectl + grep 常用語法
查看特定 pod 的資源使用情況(CPU 和記憶體使用量)kubectl top pods | grep pod-name
查看特定 pod 的基本資訊kubectl get pods | grep pod-name
查看執行中的 podskubectl get pods | grep Running
查看有問題的 podskubectl get pods | grep -E "Error|CrashLoop"
查看特定容器的日誌中的錯誤kubectl logs pod-name | grep -i error
grep 基本語法
基本搜尋選項
區分大小寫搜尋(預設)grep "error" log.txt
不區分大小寫搜尋grep -i "error" log.txt
顯示行號grep -n "error" log.txt
反向搜尋(顯示不包含的行)grep -v "success" log.txt
計算符合的行數grep -c "error" log.txt
顯示符合行的前後文grep -A 3 "error" log.txt # 顯示符合行及之後 3 行grep -B 2 "error" log.txt # 顯示符合行及之前 2 行grep -C 2 "error" log.txt # 顯示符合行及前後各 2 行
正則表達式 (Regular Expression)
搜尋以 "start" 開頭的行grep "^start" file.txt
搜尋以 "end" 結尾的行grep "end$" file.txt
搜尋包含任一關鍵字grep "error\|warning\|critical" log.txt
或使用 -E (extended regex)grep -E "error|warning|critical" log.txt
搜尋數字grep "[0-9]" file.txt
搜尋 email 格式grep -E "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" contacts.txt
搜尋任意字元重複grep "erro.*" log.txt # 符合 error, errors, erroring 等
日誌分析
查找錯誤並顯示行號grep -n "ERROR" application.log
統計不同錯誤類型的數量grep "ERROR" app.log | grep -c "DatabaseException"grep "ERROR" app.log | grep -c "NetworkException"
查找特定時間範圍的日誌grep "2025-01-12 14:" application.log
查找並顯示前後文grep -C 5 "Exception" app.log