> 技术文档 > 【ubuntu】查看端口占用情况,以及系统详情_ubuntu 查看端口占用

【ubuntu】查看端口占用情况,以及系统详情_ubuntu 查看端口占用


文章目录

  • 一、ubuntu 查看端口占用情况
      • 方法 1:使用 `netstat` 命令(传统方式)
      • 方法 2:使用 `ss` 命令(更现代的替代方案)
      • 方法 3:使用 `lsof` 命令
      • 方法 4:快速检查单个端口是否被占用
      • 方法 5:使用 `telnet` 或 `nc` 测试端口连接性
      • 检查多个指定端口的脚本示例
      • 注意事项
  • 二、Ubuntu 系统信息查看命令大全
    • 1. 查看系统版本信息
      • 查看 Ubuntu 版本
      • 查看内核版本
      • 查看系统架构
    • 2. 查看内存信息
      • 查看内存总量和使用情况
      • 查看详细内存信息
      • 监控内存使用(动态)
    • 3. 查看硬盘信息
      • 查看磁盘分区和挂载情况
      • 查看所有磁盘设备
      • 查看磁盘IO情况
    • 4. 查看CPU信息
      • 查看CPU型号和核心数
      • 查看CPU使用率
      • 查看CPU温度(需要安装lm-sensors)
    • 5. 查看综合系统信息
      • 使用neofetch(需要安装)
      • 使用inxi工具(需要安装)
    • 6. 查看GPU信息
      • NVIDIA显卡
      • AMD/Intel显卡
    • 7. 查看网络信息
      • 查看IP地址
      • 查看网络接口
      • 查看路由表
    • 8. 查看系统运行时间
    • 9. 查看系统日志
      • 查看内核日志
      • 查看系统服务日志
    • 10. 常用组合命令
      • 一键查看主要系统信息

一、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:使用 telnetnc 测试端口连接性

# 检查本地端口(例如 3306)telnet 127.0.0.1 3306# 或使用 ncnc -zv 127.0.0.1 3306

检查多个指定端口的脚本示例

如果你想一次性检查多个端口是否被占用,可以使用这个脚本:

#!/bin/bashports=(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\" fidone

将上述脚本保存为 check_ports.sh,然后运行:

chmod +x check_ports.sh./check_ports.sh

注意事项

  1. 查看端口占用通常需要 sudo 权限才能看到所有信息
  2. 如果端口被占用,命令会显示占用该端口的进程信息
  3. 没有输出通常表示端口未被占用
  4. 对于 Docker 容器使用的端口,也需要用上述方法检查

这些方法可以帮助你全面了解 Ubuntu 系统中的端口占用情况,并快速检查特定端口是否可用。

二、Ubuntu 系统信息查看命令大全

1. 查看系统版本信息

查看 Ubuntu 版本

lsb_release -a

输出示例:

No LSB modules are available.Distributor ID: UbuntuDescription: Ubuntu 22.04.3 LTSRelease: 22.04Codename: jammy

查看内核版本

uname -a# 或cat /proc/version

查看系统架构

arch# 或uname -m

2. 查看内存信息

查看内存总量和使用情况

free -h

输出示例:

  total used free shared buff/cache availableMem:  15Gi 3.2Gi 8.4Gi 1.2Gi 3.4Gi 10GiSwap: 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_64CPU op-mode(s): 32-bit, 64-bitCPU(s): 16Model name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz

查看CPU使用率

top# 或mpstat -P ALL 1

查看CPU温度(需要安装lm-sensors)

sudo apt install lm-sensorssudo sensors-detectsensors

5. 查看综合系统信息

使用neofetch(需要安装)

sudo apt install neofetchneofetch

使用inxi工具(需要安装)

sudo apt install inxiinxi -Fxz

6. 查看GPU信息

NVIDIA显卡

nvidia-smi# 或lspci | grep -i nvidia

AMD/Intel显卡

lspci | grep -i vgaglxinfo | 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系统的硬件配置和运行状态。根据您的具体需求选择适合的命令即可。