在日常开发或运维中,我们经常需要**查看网络状态、检测服务器是否在线、找到某个进程的 ID。**掌握几个常用的网络命令,能让你的排查效率大大提升。今天就来聊聊三个非常实用的命令:ping、netstat 和 pidof。
一、ping ------ 测试网络连通性
ping 是最基础的网络测试工具,基于 ICMP 协议,用来判断:
- 本机和目标主机能不能通
- 网络延迟高不高
- 有没有丢包
简单说:ping 一下,就知道对方在不在、网络卡不卡。

基础 ping(一直发,Ctrl+C 停止)
ping www.qq.com
执行后会不停发送数据包,直到你手动停止。
指定发送次数
ping -c 5 www.qq.com
-c 5 表示只发 5 个包就自动停,适合快速测试。
结果怎么看
64 bytes from 121.14.77.221: icmp_seq=1ttl=48 time=35.1 ms
- 64 bytes:数据包大小
- icmp_seq:第几个包
- ttl:存活时间(不用深究)
- time=35.1 ms :延迟,越小越快
- 最后统计:5 发送,5 接收,0% 丢包 → 网络非常稳
- 测试通不通:
ping IP/域名- 快速测 5 次:
ping -c 5 IP/域名- 看网络好不好:看 time 和 丢包率
二、netstat ------ 查看网络状态
netstat 可以列出当前系统的网络连接、路由表、接口统计等信息。对于排查"端口被谁占用了""有没有服务在监听"这类问题非常有用。
netstat = network statistics,用来查看本机所有网络状态:
- 哪些端口在监听(服务有没有启动)
- 哪些连接正在建立
- 哪个进程占用了哪个端口
- TCP / UDP 连接情况
开发、运维查端口、查连接必用命令。
| 参数 | 作用 |
|---|---|
| -n | 用数字显示 IP 和端口,不转别名(更快) |
| -l | 只看正在监听的端口 |
| -p | 显示进程名 + PID |
| -t | 只看 TCP 连接 |
| -u | 只看 UDP 连接 |
| -a | 显示所有连接(包括监听和已建立) |
查看所有 TCP 监听端口 + 对应进程
netstat -nltp
- n:数字显示
- l:只看监听
- t:只看 TCP
- p:显示进程名 / PID
实时刷新监控(每秒刷新一次)
watch -n 1 netstat -nltp
适合观察端口连接变化,比如调试服务器时用.
能解决什么问题?
- 我的 8888 端口有没有被占用?
- 我的服务启动成功了吗?
- 谁在连我的服务器?
- 哪个程序占了端口?
三、pidof ------ 通过进程名找 PID
在 Linux 里,每个程序都有一个唯一 ID 叫 PID 。pidof 就是用进程名直接查 PID,比 ps 命令简单 10 倍!
用法超级简单
pidof 进程名
实战示例
比如你运行了一个叫 tcp_server 的服务:
./tcp_server 8888
想知道它的 PID,直接输:
pidof tcp_server
输出:
2958285
这串数字就是它的进程 ID。
对比:以前怎么查?(又长又麻烦)
ps axj | grep tcp_server
用 pidof 一行搞定,不用过滤。