命令分解:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

wKiom1XBdtigOhMaAADUwvtv-t4348.jpg

awk变量:

变量名 含义
ARGC 命令行变元个数
ARGV 命令行变元数组
FILENAME 当前输入文件名
FNR 当前文件中的记录号
FS 输入域分隔符,默认为一个空格
RS 输入记录分隔符
NF 当前记录里域个数
NR 到目前为止记录数
OFS 输出域分隔符
ORS 输出记录分隔符

总结:

$awk 'BEGIN{total=0}{total+=$4}END{print total}' a.txt   -----对a.txt文件的第四个域进行求和!

$ awk '/^(no|so)/' test-----打印所有以模式no或so开头的行。

TCP连接状态详解  
LISTEN:      侦听来自远方的TCP端口的连接请求
SYN-SENT:    再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED: 代表一个打开的连接
FIN-WAIT-1:  等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:  从远程TCP等待连接中断请求
CLOSE-WAIT:  等待从本地用户发来的连接中断请求
CLOSING:     等待远程TCP对连接中断的确认
LAST-ACK:    等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:   等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:      没有任何连接状态