linux常用命令

一、netstat 系列

netstat -tn | awk '{print $6}'  | sort | uniq -c

这个命令由几个部分组成,每一部分都完成特定的任务,最终的目的是统计网络连接的状态。我们可以将其分解成以下几部分:

  1. netstat -tn:

    • netstat 是一个用于显示网络连接、路由表和网络接口信息的命令。
    • -t 选项指定显示 TCP 连接。
    • -n 选项表示显示网络地址和端口号,而不是域名和服务名称。

    运行 netstat -tn 会列出所有 TCP 连接及其状态,每行包括了连接的本地地址、远程地址、状态等信息。

  2. awk '{print $6}':

    • awk 是一个强大的文本处理工具。
    • '{print $6}' 表示从每一行中提取第六列的数据。在 netstat -tn 的输出中,第六列通常是连接的状态(例如 ESTABLISHEDLISTENTIME_WAIT 等)。

    通过 awk 提取出这些状态信息。

  3. sort:

    • sort 命令将输入的行进行排序。

    在这里,它对 awk 提取出的连接状态进行排序,以便后续统计每种状态的出现次数。

  4. uniq -c:

    • uniq 命令用于去除重复的行,-c 选项会在每行前面加上该行出现的次数。

    在这个命令中,它会统计每种连接状态出现的次数。

整体解释

这个命令的作用是:

  1. 使用 netstat -tn 列出所有 TCP 连接及其状态。
  2. 通过 awk 提取每个连接的状态信息。
  3. 对提取出的状态信息进行排序。
  4. 使用 uniq -c 统计每种连接状态的出现次数,并显示出每种状态及其对应的计数。

最终的结果是显示出所有不同 TCP 连接状态的数量统计,让你可以看到系统中各种 TCP 连接状态的分布情况。

扩展

如果只关心某个状态的连接数量,可以是用grep过滤

 

 

1
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

这段命令链的功能是处理日志文件中的某个字段,统计该字段的出现次数,并按频率排序。具体步骤如下:

  1. awk -F'appId:' '{print $2}' count.log.2024-08-26:提取以 appId: 为分隔符的第二部分,假设 appId: 后面的字段是我们关注的数据。

  2. awk -F',' '{print $1}':从提取出的字段中,以逗号为分隔符,进一步提取第一个部分。

  3. sort:对提取出的数据进行排序。

  4. uniq -c:统计每个唯一值的出现次数。

  5. sort -nr:按出现次数降序排序,-n 表示按数字排序,-r 表示逆序(降序)。

总的来说,这段命令用来统计 count.log.2024-08-26 文件中 appId: 字段的不同值的出现频率,并按频率从高到低显示。

 

posted @   Areis灬老四  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示