SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上安全地远程登录和管理服务器。在Linux系统中,SSH常用于远程管理服务器,包括查看服务端口占用情况。
netstat
命令netstat
是一个用于显示网络状态的命令行工具。
sudo netstat -tuln | grep <端口号>
例如,查看端口8080是否被占用:
sudo netstat -tuln | grep 8080
ss
命令ss
是 netstat
的替代品,功能更强大且效率更高。
sudo ss -tuln | grep <端口号>
例如,查看端口8080是否被占用:
sudo ss -tuln | grep 8080
lsof
命令lsof
可以列出当前系统打开的文件,包括网络端口。
sudo lsof -i :<端口号>
例如,查看端口8080是否被占用:
sudo lsof -i :8080
原因:
sudo
提升权限。netstat
或 lsof
可能未安装。解决方法:
sudo
提升权限。sudo apt-get install net-tools # 安装 netstat
sudo apt-get install lsof # 安装 lsof
原因:命令输出可能包含大量信息,初学者可能难以解读。
解决方法:
grep
过滤特定端口信息。man netstat
man ss
man lsof
以下是一个完整的示例,展示如何使用 ss
命令查看端口占用情况:
#!/bin/bash
# 检查参数是否提供
if [ -z "$1" ]; then
echo "请提供端口号作为参数"
exit 1
fi
PORT=$1
# 使用 ss 命令查看端口占用情况
sudo ss -tuln | grep ":$PORT "
保存为 check_port.sh
,然后运行:
chmod +x check_port.sh
./check_port.sh 8080
这将显示端口8080的占用情况。
通过以上方法,你可以有效地查看Linux系统中服务的端口占用情况,并解决相关问题。
领取专属 10元无门槛券
手把手带您无忧上云