# Linux

作者:Odboy (opens new window)

本站地址:https://blog.odboy.cn (opens new window)

# 显示监听中的端口

netstat -ntlp
netstat -ntlpu
1
2
  • -n:显示数字形式的地址和端口号,而不是尝试解析主机名或服务名。
  • -p:显示每个连接的进程ID(PID)和程序名称。
  • -l:仅显示监听状态的套接字。
  • -t:显示TCP协议的连接。
  • -u:显示UDP协议的连接。

作用:列出所有监听状态的TCP和UDP连接,以及对应的进程信息。

# 显示进程明细

netstat -npltu|grep -E 'tcp|udp'|awk '$7 != "" {print $7}'| cut -d'/' -f1|xargs -I{} ps -p {} -o pid,cmd,%mem,%cpu
1
  1. netstat -npltu

    • -n:显示数字形式的地址和端口号,而不是尝试解析主机名或服务名。
    • -p:显示每个连接的进程ID(PID)和程序名称。
    • -l:仅显示监听状态的套接字。
    • -t:显示TCP协议的连接。
    • -u:显示UDP协议的连接。

    作用:列出所有监听状态的TCP和UDP连接,以及对应的进程信息。

  2. grep -E 'tcp|udp'

    • -E:使用扩展正则表达式。
    • 'tcp|udp':匹配包含“tcp”或“udp”的行。

    作用:过滤出与TCP或UDP相关的连接。

  3. awk '$7 != "" {print $7}'

    • $7:表示netstat输出中的第7列(通常是进程信息,格式为PID/进程名)。
    • != "":确保第7列不为空。
    • {print $7}:打印第7列的内容。

    作用:提取出非空的进程信息(PID/进程名)。

  4. cut -d'/' -f1

    • -d'/':指定分隔符为/
    • -f1:提取第一个字段(即PID)。

    作用:从PID/进程名中提取出PID

  5. xargs -I{} ps -p {} -o pid,cmd,%mem,%cpu

    • -I{}:将前一个命令的输出替换到{}位置。
    • ps -p {} -o pid,cmd,%mem,%cpu
      • -p {}:根据PID查询进程信息。
      • -o pid,cmd,%mem,%cpu:指定输出格式,包括PID、命令(cmd)、内存占用百分比(%mem)和CPU占用百分比(%cpu)。

    作用:根据提取的PID,查询并显示每个进程的详细信息。

最近更新: 2025-03-12
2017 - 武林秘籍   |