一、ubuntu 查看端口占用情况
在 ubuntu 系统中,你可以使用以下几种方法来查看端口占用情况以及检查指定端口是否被占用:
方法 1:使用 netstat 命令(传统方式)
# 查看所有端口占用情况 sudo netstat -tulnp # 查看指定端口是否被占用(例如检查 80, 443, 3306 端口) sudo netstat -tulnp | grep -e ':(80|443|3306)\s'
选项说明:
-t
:显示 tcp 端口-u
:显示 udp 端口-l
:仅显示监听中的端口-n
:以数字形式显示地址和端口-p
:显示进程信息
方法 2:使用 ss 命令(更现代的替代方案)
# 查看所有端口占用情况 sudo ss -tulnp # 检查指定端口是否被占用(例如 80, 443, 3306) sudo ss -tulnp | grep -e ':(80|443|3306)\s'
ss
命令比 netstat
更快,是推荐的现代替代方案。
方法 3:使用 lsof 命令
# 查看所有端口占用 sudo lsof -i -p -n # 检查指定端口(例如 80, 443, 3306) sudo lsof -i :80,443,3306
方法 4:快速检查单个端口是否被占用
# 检查单个端口(例如 8080) sudo lsof -i :8080 # 或 sudo netstat -tulnp | grep :8080 # 或 sudo ss -tulnp | grep :8080 # 如果端口未被占用,这些命令不会有输出
方法 5:使用 telnet 或 nc 测试端口连接性
# 检查本地端口(例如 3306) telnet 127.0.0.1 3306 # 或使用 nc nc -zv 127.0.0.1 3306
检查多个指定端口的脚本示例
如果你想一次性检查多个端口是否被占用,可以使用这个脚本:
#!/bin/bash ports=(80 443 3306 8080 8000) for port in "${ports[@]}"; do echo -n "checking port $port... " if sudo lsof -i :$port > /dev/null 2>&1; then echo -e "\e[31m占用\e[0m" sudo lsof -i :$port | head -n 2 else echo -e "\e[32m空闲\e[0m" fi done
将上述脚本保存为 check_ports.sh
,然后运行:
chmod +x check_ports.sh ./check_ports.sh
注意事项
- 查看端口占用通常需要
sudo
权限才能看到所有信息 - 如果端口被占用,命令会显示占用该端口的进程信息
- 没有输出通常表示端口未被占用
- 对于 docker 容器使用的端口,也需要用上述方法检查
这些方法可以帮助你全面了解 ubuntu 系统中的端口占用情况,并快速检查特定端口是否可用。
二、ubuntu 系统信息查看命令大全
1. 查看系统版本信息
查看 ubuntu 版本
lsb_release -a
输出示例:
no lsb modules are available. distributor id: ubuntu description: ubuntu 22.04.3 lts release: 22.04 codename: jammy
查看内核版本
uname -a # 或 cat /proc/version
查看系统架构
arch # 或 uname -m
2. 查看内存信息
查看内存总量和使用情况
free -h
输出示例:
total used free shared buff/cache available mem: 15gi 3.2gi 8.4gi 1.2gi 3.4gi 10gi swap: 2.0gi 0.0ki 2.0gi
查看详细内存信息
cat /proc/meminfo
监控内存使用(动态)
top # 或 htop # 需要安装:sudo apt install htop
3. 查看硬盘信息
查看磁盘分区和挂载情况
df -h
输出示例:
filesystem size used avail use% mounted on /dev/nvme0n1p2 457g 123g 311g 29% /
查看所有磁盘设备
lsblk # 或 sudo fdisk -l
查看磁盘io情况
iostat -x 1 # 或安装 sudo apt install sysstat
4. 查看cpu信息
查看cpu型号和核心数
lscpu
输出示例:
architecture: x86_64 cpu op-mode(s): 32-bit, 64-bit cpu(s): 16 model name: intel(r) core(tm) i9-9900k cpu @ 3.60ghz
查看cpu使用率
top # 或 mpstat -p all 1
查看cpu温度(需要安装lm-sensors)
sudo apt install lm-sensors sudo sensors-detect sensors
5. 查看综合系统信息
使用neofetch(需要安装)
sudo apt install neofetch neofetch
使用inxi工具(需要安装)
sudo apt install inxi inxi -fxz
6. 查看gpu信息
nvidia显卡
nvidia-smi # 或 lspci | grep -i nvidia
amd/intel显卡
lspci | grep -i vga glxinfo | grep "opengl renderer"
7. 查看网络信息
查看ip地址
ip a # 或 hostname -i
查看网络接口
ifconfig # 或 ip link show
查看路由表
ip route # 或 route -n
8. 查看系统运行时间
uptime
输出示例:
14:30:45 up 5 days, 2:15, 3 users, load average: 0.08, 0.03, 0.01
9. 查看系统日志
查看内核日志
dmesg
查看系统服务日志
journalctl -xe
10. 常用组合命令
一键查看主要系统信息
echo -e "\n===== 系统版本 =====" && lsb_release -a && \ echo -e "\n===== 内存信息 =====" && free -h && \ echo -e "\n===== 磁盘信息 =====" && df -h && \ echo -e "\n===== cpu信息 =====" && lscpu | grep -e "model name|cpu\(s\)" && \ echo -e "\n===== 运行时间 =====" && uptime
以上命令可以帮助您全面了解ubuntu系统的硬件配置和运行状态。根据您的具体需求选择适合的命令即可。
以上就是ubuntu查看端口占用情况以及系统详情的命令大全的详细内容,更多关于ubuntu查看端口占用及系统详情的资料请关注代码网其它相关文章!
发表评论