1. 程式人生 > >Linux日誌分析常用命令

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