Linux日誌分析常用命令
1.檢視檔案內容
cat
-n 顯示行號
2.分頁顯示
more
Enter 顯示下一行
空格 顯示下一頁
F 顯示下一屏
B 顯示上一屏
less
/get 查詢"get"字串並高亮顯示
3.顯示檔案尾
tail
-f 不退出持續顯示
-n 顯示檔案最後n行
4.顯示標頭檔案
head
-n 顯示檔案開始n行
5.內容排序
sort
-n 按照數字排序
-r 按照逆序排序
-k 表示排序列
-t 指定分隔符
6.字元統計
wc
-l 統計檔案中行數
-c 統計檔案位元組數
-L 檢視最長行長度
-w 檢視檔案包含多少個單詞
7.檢視重複出現的行
uniq
-c 檢視該行內容出現的次數
-u 只顯示出現一次的行
-d 只顯示重複出現的行
8.字串查詢
grep
9.檔案查詢
find
which
whereis
10.表示式求值
expr
11.歸檔檔案
tar
zip
unzip
12.URL訪問工具
curl
wget
13. 檢視請求訪問量
頁面訪問排名前十的IP
cat access.log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -r | head -10
頁面訪問排名前十的URL
cat access.log | cut -f4 -d " " | sort | uniq -c | sort -k 1 -r | head -10
檢視最耗時的頁面
cat access.log | sort -k 2 -n -r | head 10
14.大殺器
sed
sed 's/xxx/hello' access.log 將 xxx 替換成 hello 輸出(s是文字替換命令)
sed -n '2,6p' access.log 只輸出第第2到第6之間的行(-n表示輸出指定的行)
sed '/qq/d' access.log 刪除包含qq的行(d是文字刪除命令)
sed '=' access.log 顯示檔案行號
sed -e 'i\head' access.log 在每行的前面插入head字串(i在行首插入命令)
sed -e 'a\end' access.log 在每行的末尾追加end字串(i在行尾追加命令)
sed -e '/google/c\hello' access.log 查詢google匹配的行,用hello替換(c是對行文字替換命令)
awk