一、netstat 系列
netstat -tn | awk '{print $6}' | sort | uniq -c
这个命令由几个部分组成,每一部分都完成特定的任务,最终的目的是统计网络连接的状态。我们可以将其分解成以下几部分:
-
netstat -tn
:netstat
是一个用于显示网络连接、路由表和网络接口信息的命令。-t
选项指定显示 TCP 连接。-n
选项表示显示网络地址和端口号,而不是域名和服务名称。
运行
netstat -tn
会列出所有 TCP 连接及其状态,每行包括了连接的本地地址、远程地址、状态等信息。 -
awk '{print \$6}'
:awk
是一个强大的文本处理工具。'{print \$6}'
表示从每一行中提取第六列的数据。在netstat -tn
的输出中,第六列通常是连接的状态(例如ESTABLISHED
,LISTEN
,TIME_WAIT
等)。
通过
awk
提取出这些状态信息。 -
sort
:sort
命令将输入的行进行排序。
在这里,它对
awk
提取出的连接状态进行排序,以便后续统计每种状态的出现次数。 -
uniq -c
:uniq
命令用于去除重复的行,-c
选项会在每行前面加上该行出现的次数。
在这个命令中,它会统计每种连接状态出现的次数。
整体解释
这个命令的作用是:
- 使用
netstat -tn
列出所有 TCP 连接及其状态。 - 通过
awk
提取每个连接的状态信息。 - 对提取出的状态信息进行排序。
- 使用
uniq -c
统计每种连接状态的出现次数,并显示出每种状态及其对应的计数。
最终的结果是显示出所有不同 TCP 连接状态的数量统计,让你可以看到系统中各种 TCP 连接状态的分布情况。
扩展
如果只关心某个状态的连接数量,可以是用grep过滤
netstat -tn | awk '{print $6}' | grep -w 'ESTABLISHED' | wc -l
二、文件系列
awk -F'appId:' '{print \$2}' count.log.2024-08-26 | awk -F',' '{print \$1}' | sort | uniq -c | sort -nr
这段命令链的功能是处理日志文件中的某个字段,统计该字段的出现次数,并按频率排序。具体步骤如下:
-
awk -F'appId:' '{print \\$2}' count.log.2024-08-26
:提取以appId:
为分隔符的第二部分,假设appId:
后面的字段是我们关注的数据。 -
awk -F',' '{print \\$1}'
:从提取出的字段中,以逗号为分隔符,进一步提取第一个部分。 -
sort
:对提取出的数据进行排序。 -
uniq -c
:统计每个唯一值的出现次数。 -
sort -nr
:按出现次数降序排序,-n
表示按数字排序,-r
表示逆序(降序)。
总的来说,这段命令用来统计 count.log.2024-08-26
文件中 appId:
字段的不同值的出现频率,并按频率从高到低显示。
标签:sort,状态,常用命令,netstat,awk,linux,print,连接 From: https://www.cnblogs.com/aries-laosi/p/18382278