1 统计机器上处于不一样状态的全部TCP链接的个数(TCP链接是有状态链接,包含SYN_RECV, ESTABLISHED, TIME_WAIT, FIN_WAIT0, FIN_WAIT1等多种状态,要求统计各类状态下的链接的个数)。tcp
1 netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'
此命令能够用于检查是否存在SYN-FLOODING攻击。若是SYN_RECV状态的半链接异常多,说明存在这种DDOS攻击。spa
2 统计目录下各种型文件的个数。$NF是每一行用-F指定的字符分隔以后,获得的最后一列。code
1 ls | awk -F. '{S[$NF]++} END {for(key in S) print Key, S[key]}'
3 日期blog
将日期转换成数字:例如2015-08-01 01:01:01,111 -> 144XXXXXXXXXXclass
1 awk -F [-:,] '{print mktime($1" "$2" "$3" "$4" "$5" "$6" "$7)}'
将日期转换成数字以后,就能够作不少日期比较了,好比找到两个连续的时间间隔小于10ms的行。awk
4 打印不换行。file
例如,只打印每一行的第9个词到行末。im
1 awk '{for(i=9; i<=NF; i++) {printf $i" "; } print " " }' <file>