答案:可通过netstat、ss和lsof命令查看Linux端口占用情况。使用netstat -tuln | grep :端口号或更高效的ss -tuln | grep :端口号检查端口监听状态,结合lsof -i :端口号可查看占用进程的PID、程序名等详细信息,便于定位服务冲突或排查网络问题。

在Linux系统中,查看端口是否被占用是排查服务启动失败或网络问题的常见操作。可以通过几个常用的命令快速实现,下面介绍几种实用方法。
使用 netstat 命令
netstat 是一个网络状态检测工具,可以显示当前系统的网络连接、路由表、接口统计等信息。
查看指定端口是否被占用:netstat -tuln | grep :端口号例如查看80端口:
netstat -tuln | grep :80参数说明:
- -t:显示TCP连接
- -u:显示UDP连接
- -l:仅显示监听状态的端口
- -n:以数字形式显示地址和端口号
使用 ss 命令(推荐)
ss 是新一代的网络统计工具,比 netstat 更快更高效,现代Linux系统推荐使用。
查看某个端口是否被占用:ss -tuln | grep :端口号例如查看443端口:
ss -tuln | grep :443参数与 netstat 类似,输出格式更简洁。
查看占用端口的进程信息
如果发现端口被占用,通常需要知道是哪个进程在使用。可以结合 lsof 或 ss 显示PID。
使用 lsof 查看:lsof -i :端口号例如:
lsof -i :3306输出会显示进程名、PID、用户、协议等信息。通过PID可进一步定位服务。 若未安装 lsof,可通过包管理器安装:
Ubuntu/Debian:
sudo apt install lsof
CentOS/RHEL:
sudo yum install lsof或
sudo dnf install lsof
综合建议
日常使用中,推荐优先使用 ss 命令,性能更好。若需详细进程信息,搭配 lsof 使用更直观。 常见场景:- 启动Web服务前检查80/443端口
- 调试应用时确认自定义端口是否冲突
- 排查可疑连接或端口占用问题
基本上就这些常用方法,掌握后能快速定位端口占用情况。










