1.基礎命令
操作 | 命令 | 說明 |
查看文件的內容 | cat -n access.log | -n顯示行號 |
分頁顯示文件 | more access.log | Enter下一行,空格下一頁,F下一屏,B上一屏 |
分頁顯示文件 | less access.log | 輸入 /字符串 可查找并高亮 |
顯示文件尾 | tail -n2 -f access.log | -n2顯示最后2行,-f繼續監聽不退出 |
內容排序 | sort -k 2 -t ' ' -n access.log | -k指定排序列,-t指定列分隔符,-n按數字順序 |
字符統計 | wc -l access.log | -l統計行數,-c字符數,-L最長行長度,-w單詞數 |
查看重復出現的行 | sort testfile | uniq -c -d | uniq去重,-c統計重復次數,-d只顯示重復的 |
字符串查找 | grep 'G.*T' access.log | 查找G開頭T結尾的字符串 |
文件查找 | find /home/java -name access.log | 遞歸/home/java的子目錄找名為access.log |
表達式求值 | expr 10 \* 3 | 計算10*3,其中\*表示轉義*不解讀為通配符 |
表達式求值 | expr length "this is a test" | 計算長度 |
歸檔文件 | tar -cf aaa.tar f1 f2 | -c創建,-f指定包名 |
歸檔文件 | tar -xf aaa.tar | -x解壓 |
URL訪問 | curl www.google.com | 不帶參返回響應體,-i返回帶響應頭,-I僅返回響應頭 |
查看CPU的load | uptime | |
查看CPU使用率 | top | grep Cpu | 按1查看每個核,按shift+H按線程查看 |
查看CPU使用率 | top -p 2864 | 查看指定進程 |
磁盤剩余空間 | df -h | |
磁盤剩余空間 | du -d 1 -h /home/java | 分析目錄的磁盤使用。-d設置遞歸深度 |
網絡traffic | sar -n DEV 1 1 | DEV查看各個網卡,1秒抽樣,1總共取一次 |
磁盤I/O | iostat -d -k | |
內存使用 | free -m | 通常是看“-/+ buffers/cache”對應的used和free |
內存使用 | vmstat | 查看swap I/O |
2.sed編輯器
操作 | 命令 | 說明 |
文本替換 | sed 's/xxx/yahoo/' access.log | head -10 | 不會修改原文件 |
輸出指定的行 | sed -n '2,6p' access.log | 輸出2-6行 |
刪除行 | sed '/qq/d' access.log | /d排除含關鍵字qq的行 |
整行替換 | sed -e '/google/c\hello' access.log | head -10 | /c替換的是整個匹配的行 |
多個命令合并 | sed -n '1,5p;1,5=' access.log | 邊打印行邊打印行號 |
3.awk程序
操作 | 命令 |
篩選行,打印指定列 | awk '/google/{print $0,$6}' access.log | head -10 |
按條件打印 | awk 'length($0)>40{print $3}' access.log | head -10 |
格式化輸出 | awk '{line= sprintf("method:%s,response:%s", $3, $7); print line}' access.log | head -10 |
4.實用例子
操作 | 命令 | 說明 |
查看請求訪問量 | ||
訪問量前10的IP | cat access.log | cut -f1 -d " " | sort | uniq -c |sort -k 1 -n -r | head -10 | cut部分表示取第1列即IP列,取第4列則為URL的訪問量 |
查看最耗時的頁面 | cat access.log | sort -k 2 -n -r | head -10 | 按第2列響應時間逆序排序 |
統計404請求的占比 | ||
總請求數 | export total_line= `wc -l access.log | cut -f1 -d " "` | |
404請求數 | export not_found_line= `awk '$6=='404'{print $6}' access.log | wc -l` | |
占比 | expr $not_found_line \* 100 / $total_line | &&或;可合并為一行。 |
掃碼二維碼 獲取免費視頻學習資料
- 本文固定鏈接: http://www.wangchenghua.com/post/3287/
- 轉載請注明:轉載必須在正文中標注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費視頻資料
查 看2022高級編程視頻教程免費獲取