# Linux
# 显示监听中的端口
netstat -ntlp
netstat -ntlpu
1
2
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
netstat -npltu
-n
:显示数字形式的地址和端口号,而不是尝试解析主机名或服务名。-p
:显示每个连接的进程ID(PID)和程序名称。-l
:仅显示监听状态的套接字。-t
:显示TCP协议的连接。-u
:显示UDP协议的连接。
作用:列出所有监听状态的TCP和UDP连接,以及对应的进程信息。
grep -E 'tcp|udp'
-E
:使用扩展正则表达式。'tcp|udp'
:匹配包含“tcp”或“udp”的行。
作用:过滤出与TCP或UDP相关的连接。
awk '$7 != "" {print $7}'
$7
:表示netstat
输出中的第7列(通常是进程信息,格式为PID/进程名
)。!= ""
:确保第7列不为空。{print $7}
:打印第7列的内容。
作用:提取出非空的进程信息(
PID/进程名
)。cut -d'/' -f1
-d'/'
:指定分隔符为/
。-f1
:提取第一个字段(即PID
)。
作用:从
PID/进程名
中提取出PID
。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
,查询并显示每个进程的详细信息。