linux常⽤过滤⽇志命令nginx停止命令
#过滤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  :只显⽰唯⼀的⾏