Linux中如何查看端口号占用情况?

在管理Linux服务器或排查网络问题时,经常需要查看某个端口是否被占用。一个常用的方法是结合 netstat 命令和 grep 工具来快速定位端口状态。

例如,如果你想检查系统中某个特定端口(比如 80 或 3306)是否正在被使用,可以运行以下命令:

netstat -tuln | grep 端口号

这个命令中的各个参数含义如下:
- -t:显示TCP连接信息
- -u:显示UDP连接信息
- -l:仅展示处于监听状态的端口
- -n:以数字形式显示端口号,避免解析成服务名称,提高查询速度
- grep 端口号:从结果中筛选出包含指定端口的行

比如,执行 netstat -tuln | grep 80 可以判断Web服务是否已启动并监听80端口。如果返回结果中含有 0.0.0.0:80:::80,说明该端口正在被监听。

需要注意的是,部分较新的Linux发行版已逐渐用 ss 命令替代 netstat,因为它更高效。等效命令为:
ss -tuln | grep 端口号,用法和效果几乎一致。

此外,若不确定端口号但想查看所有监听中的服务,可直接运行 netstat -tulnss -tuln,系统将列出全部活跃的TCP和UDP端口。这类操作通常需要管理员权限,建议使用 sudo 执行以确保完整信息显示。

掌握这些基础命令,能帮助你快速诊断服务启动失败或端口冲突等问题,是日常运维中的实用技能。该方法自2023年8月2日至今仍广泛适用。

另请参阅

深度文章

相关话题