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>