linux常用過濾日志命令


#過濾nginx訪問日志
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr -k1 | head -n 10
#過濾ssh登錄失敗日志
grep "Failed password for root from" /var/log/secure | awk {'print $11'} | sort | uniq -c | sort -nr -k1 | head -n 10

輸出結果如下圖:(前面代表次數,后面代表ip)

sort命令詳解:

Linux sort命令用於將文本文件內容加以排序。sort可針對文本文件的內容,以行為單位來排序。

-f  :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b  :忽略最前面的空格符部分;
-M  :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n  :使用『純數字』進行排序(默認是以文字型態來排序的);
-r  :反向排序;
-u  :就是 uniq ,相同的數據中,僅出現一行代表;
-t  :分隔符,默認是用 [tab] 鍵來分隔;
-k  :以那個區間 (field) 來進行排序的意思

 

uniq命令詳解:

uniq命令可以去除排序過的文件中的重復行,因此uniq經常和sort合用。也就是說,為了使uniq起作用,所有的重復行必須是相鄰的。

-i  :忽略大小寫字符的不同;
-c  :進行計數
-u  :只顯示唯一的行

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM