Ubuntu 22.04 与 24.04 系统常用命令

适用场景:系统管理员、开发人员针对 Ubuntu 22.04 LTS(Jammy Jellyfish)与 24.04 LTS(Noble Numbat)的日常运维

特别说明:Ubuntu 无 24.02 版本,推测为笔误,以下基于官方 LTS 版本 24.04 展开对比说明

版本核心差异总览

|-------------|-----------------------|----------------------------------|
| 维度 | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
| 内核版本 | 5.15(默认)/ 6.5(HWE 可选) | 6.8(默认,支持 bcachefs 文件系统) |
| 关键特性 | 稳定兼容主流硬件 | 帧指针默认启用、.NET 8 原生支持、Rust 1.75 集成 |
| Python 环境 | 3.10(无全局 pip 限制) | 3.12(默认启用externally-managed保护) |
| Docker 默认版本 | 20.10.x | 27.3.1(安装流程兼容但版本提升) |
| 硬件支持 | 最高支持 Intel 13 代 CPU | 原生支持 Intel 14 代 CPU 及新 GPU |

第一章 硬件配置查看

1.1 系统概览

|-----------|-----------------------------------------|----------------|---------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 内核与系统架构 | uname -a | uname -a | 24.04 显示 6.8.x 内核,支持嵌套 KVM 与系统调用优化 |
| 系统版本与发行信息 | lsb_release -a && cat /etc/os-release | lsb_release -a | 24.04 CODENAME 为noble,支持 12 年 Ubuntu Pro 服务 |

1.2 核心硬件组件

1.2.1 CPU 信息

|------------------|------------------------------------|---------------------------------|-------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 简洁显示 CPU 核心 / 线程 | lscpu | lscpu | 24.04 默认启用帧指针,可通过perf精准剖析性能 |
| 详细 CPU 参数 | cat /proc/cpuinfo | grep "model name" /proc/cpuinfo | 24.04 更好支持 Intel Raptor Lake-S Refresh 平台 |
| 物理核心数 | `grep "physical id" /proc/cpuinfo | sort | uniq |

1.2.2 1.2.2内存信息

|------------|-------------------|-------------------------------|------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 内存使用(人类可读) | free -h | free -h | 显示总内存、已用、缓存、交换分区 |
| 详细内存参数 | cat /proc/meminfo | grep "MemTotal" /proc/meminfo | 单位为 KB,可换算为 GB(÷1024²) |
| 虚拟内存统计 | vmstat | vmstat 1 # | 每秒输出一次内存/IO统计 |

1.2.3进程查看

|--------|----------------------|-------------------------------------------------|----------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 实时进程监控 | top - top -p <PID> | top -d 5 top -p 1234 top -u username | # 5秒刷新一次 # 监控特定PID进程 # 监控特定用户的进程 |
| 增强版top | htop | htop | 24.04默认未安装,需手动安装 |
| 进程树可视化 | pstree | pstree -p | 显示进程树及PID |
| 进程状态 | ps | ps aux --sort=-%mem | head ps -o ppid=<PPID> | # 按内存使用排序 查找父进程ID |

1.2.4 存储设备(新增文件系统支持)

|--------------|---------------------------|----------------|-----------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 磁盘分区与空间 | df -h | df -h /home | 24.04 可识别 bcachefs 分区,需手动挂载 |
| 所有磁盘设备(含未挂载) | lsblk | lsblk /dev/sda | 两版本一致 |
| 硬盘健康信息 | sudo smartctl -a /dev/sda | - | 24.04 对 NVMe SSD 的健康数据支持更全面 |

1.2.5 其他硬件(显卡、网络、USB 等)

|-----------|--------------|-------------------|----------------------------------------------------------------|
| 硬件类型 | 命令 | 示例 | 补充说明 |
| 显卡信息 | `lspci | grep -i vga` | - |
| 网络接口 | ip addr show | ip addr show eth0 | 显示 IP、MAC 地址 |
| USB 设备 | lsusb | - | 显示外接 USB 设备(如 U 盘、鼠标) |
| 硬件温度 / 风扇 | sensors | - | 需先安装:sudo apt install lm-sensors -y,并执行 sudo sensors-detect 配置 |
| 笔记本电池 | acpi -V | - | 显示电量、充电状态、续航预估 |

第二章 已安装软件包与版本查看

2.1 系统级包管理(无核心差异)

2.1.1 DEB 包

|----------|----------------------|---------------|---|--------------|
| 功能 | 命令 | 示例 || 版本差异说明 |
| 列出所有已安装包 | apt list --installed | `apt list --installed || grep nginx` |
| 查看包详细信息 | `dpkg -s | dpkg -s curl || 两版本一致 |
| 查找包安装路径 | `dpkg -L | dpkg -L nginx || 两版本一致 |
| 查找包安装路径 | `dpkg -L | dpkg -L nginx | 显示包所有文件的系统路径(如配置文件、可执行文件) ||
| | | | | |

2.1.2 Snap 包

|-----------------|----------------------------------|----------------------------|--------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出已安装 Snap | snap list | - | 含版本、发布者、安装日期 |
| 查看 Snap 详情(含依赖) | snap info snap info snap-store` | 显示 base 依赖、安装路径(/snap/>/) | |

2.1.3 Flatpak 包

|---------------|-----------------|------------------------------|-------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出已安装 Flatpak | flatpak list | - | 含应用 ID、版本、运行时 |
| 查看 Flatpak 详情 | flatpak info > | flatpak info org.gnome.gedit | 显示安装路径(/var/lib/flatpak/app/) |

2.2 语言级包管理

2.2.1 Python 包(pip)

|------------|------------------------------------------------------|-----------------------------------------------|-------------------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 列出全局 pip 包 | pip3 list | - | 22.04 直接可用;24.04 需加--break-system-packages(不推荐)或用虚拟环境 |
| 查看包详情(含路径) | pip3 show pip3 show requests` | 24.04 Location 默认指向/usr/local/lib/python3.12/ | |
| 升级 pip | sudo apt install --only-upgrade python3-pip | - | 24.04 推荐此方法,避免externally-managed错误 |
| 创建虚拟环境(推荐) | python3 -m venv myenv && source myenv/bin/activate | - | 两版本通用,24.04 默认 Python 3.12 |
| 24.04专属 | python3.12 --version pip3 list --outdated | | 默认Python版本升级 查看可升级的Python包 |

2.2.2 Node.js 包(npm)

|--------------|-----------------------|--------------------------|---------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出全局 npm 包 | npm list -g --depth=0 | - | --depth=0 隐藏子依赖,更简洁 |
| 列出项目本地 npm 包 | npm list --depth=0 | - | 需在项目根目录执行(含 package.json) |
| 查看包版本 | npm view 名> version | npm view express version | 显示最新版及历史版本 |

2.2.3 新增 .NET/Rust 支持(24.04 专属)

|------------|------------------|----|------------------------------|
| 功能 | 命令 | 示例 | 适用版本 |
| 查看 .NET 版本 | dotnet --version | - | 24.04 默认支持.NET 8,22.04 需手动安装 |
| 查看 Rust 版本 | rustc --version | - | 24.04 默认 1.75,22.04 需手动安装 |

第三章 服务与端口监控(防火墙底层优化)

3.1 系统服务管理

3.1.1 Systemd 服务(主流)

|----------|-----------------------------------------------------|----------------------------|------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出所有服务状态 | systemctl list-units --type=service --all | - | + 运行、- 停止、? 未安装 |
| 仅显示运行中服务 | systemctl list-units --type=service --state=running | - | 快速排查活跃服务 |
| 查看单个服务状态 | systemctl status <服务名> | systemctl status ssh | 含 PID、日志片段、自启状态 |
| 检查服务自启状态 | systemctl is-enabled 名> | systemctl is-enabled nginx | 输出 enabled(自启)/disabled(不自启) |
| I/O 统计 | iostat | iostat -x 1 | # 显示扩展I/O统计,每秒刷新 |

3.1.2 传统 init.d 服务(兼容旧系统)

|----------|---------------------|-----------------------------|---------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 列出传统服务 | ls -la /etc/init.d/ | - | 显示所有 init.d 管理的服务脚本 |
| 查看传统服务状态 | `sudo service | sudo service apache2 status | 部分新服务可能不支持此方式 |

3.2端口与网络监控

3.2.1 监听端口查看

|-------------|---------------------|------------------|------------------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 现代系统推荐(无依赖) | sudo ss -tulpn | - | tTCP、uUDP、l监听、p进程、n数字端口 |
| 传统方式(需安装) | sudo netstat -tulpn | - | 需先安装:sudo apt install net-tools -y |
| 查看特定端口占用 | sudo lsof -i :> | sudo lsof -i :80 | 显示占用端口的进程 PID 和名称 |

3.2.2 防火墙与网络规则

|----------------|--------------------------------------------|----|------------------------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 查看 UFW 防火墙状态 | sudo ufw status verbose sudo ufw app list | - | 两版本一致,24.04 底层默认映射 nftables 24.04 查看预定义应用防火墙规则 |
| 查看 nftables 规则 | sudo nft list ruleset sudo nft list tables | - | 24.04 推荐直接使用,替代 iptables 24.04 查看预定义应用防火墙规则 |
| 查看 iptables 规则 | sudo iptables -L -n -v | - | 24.04 为兼容模式,实际转译 nftables 规则 |

3.2.3 服务日志查看

|----------|-----------------------|----------------------|-------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看所有服务日志 | journalctl -xe | - | 按时间倒序,显示最新日志 |
| 查看单个服务日志 | journalctl -u <服务名> | journalctl -u nginx | 仅显示指定服务的日志 |
| 实时跟踪服务日志 | journalctl -u -f | journalctl -u ssh -f | 类似 "tail -f",实时刷新 |

第四章 容器列表与运维

4.1 Docker 容器

|------------------|-------------------------------|----|----------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 安装 Docker | sudo apt install docker-ce | - | 22.04 默认 20.10.x,24.04 默认 27.3.1 |
| 查看运行中容器 | docker ps | - | 两版本语法一致,24.04 支持更多统计字段 |
| 免 sudo 使用 Docker | sudo usermod -aG docker $USER | - | 两版本一致,需重启生效 |
| Docker磁盘使用 | docker system df docker stats | | # 查看Docker磁盘使用 # 实时容器资源监控 |

4.2 LXC/LXD 容器

|-------------|--------------------|----|-----------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看所有 LXC 容器 | lxc list | - | 含状态、IP、架构 |
| 仅查看运行中容器 | lxc list --running | - | 过滤停止状态的容器 |

4.3 Podman 容器(无守护进程)

|-----------------|--------------|----|---------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看运行中 Podman 容器 | podman ps | - | 语法与 Docker 兼容 |
| 查看所有 Podman 容器 | podman ps -a | - | 含停止容器 |

4.4 Kubernetes(K8s)容器

|--------------|------------------------|---------------------------------|------------------------|
| 功能 | 命令 | 示例 | 补充说明 |
| 查看当前命名空间 Pod | kubectl get pods | - | Pod 是 K8s 的最小部署单元(含容器) |
| 查看所有命名空间 Pod | kubectl get pods -A | - | -A = all namespaces |
| 查看 Pod 详情 | `kubectl describe pod | kubectl describe pod my-app-pod | 含容器日志、挂载卷、事件 |

第五章 软件包依赖关系查询(修正命令截断)

5.1 DEB 包依赖

|----------|---------------------------|--------------------------|--------------------------------|
| 功能 | 命令 | 示例 | 版本差异说明 |
| 查看未安装包依赖 | apt-cache depends <包名> | apt-cache depends nginx | 24.04 依赖版本要求更高(如 libc6 ≥ 2.39) |
| 查看已安装包依赖 | `dpkg -s 名 > | grep -A 10 "Depends:"` | `dpkg -s curl |
| 查看反向依赖 | apt-cache rdepends <包名> | apt-cache rdepends libc6 | 两版本一致 |
| 检查依赖冲突 | sudo apt check | - | 24.04 检测速度更快,支持 bcachefs 依赖校验 |

第六章系统诊断工具

系统诊断工具(建议新增独立章节)

性能分析

perf top # 实时性能热点分析

strace -p <PID> # 追踪进程系统调用

日志管理

journalctl -f # 实时查看系统日志

journalctl --since "2025-12-01" --until "2025-12-02" # 时间范围查询

硬件检测

smartctl -a /dev/sda # 硬盘健康检测

inxi -Fx # 系统硬件综合信息

第七章 关键版本适配建议

  1. 硬件选择
    1. 旧设备(Intel 12 代及以下 CPU):优先 Ubuntu 22.04,兼容性更稳定
    2. 新设备(Intel 13/14 代 CPU、NVIDIA H100 GPU):必须用 Ubuntu 24.04,获取硬件支持
  2. Python 开发
    1. 22.04:可直接全局安装包,适合快速测试
    2. 24.04:强制使用虚拟环境或apt管理 Python 包,避免环境混乱
  3. 容器运维
    1. 24.04 的 Docker 27 + 支持容器快照、增量镜像,推荐生产环境升级
    2. K8s 集群:24.04 兼容 1.29 + 版本,204 最高兼容 1.26+
  4. 存储优化
    1. 新部署场景:24.04 可尝试 bcachefs 文件系统,提升读写性能
    2. 数据迁移:从 204 到 24.04 需注意 Python 虚拟环境重建
相关推荐
石像鬼₧魂石1 小时前
Ubuntu 渗透测试步骤
linux·运维·ubuntu
虾..1 小时前
Linux 文件系统与inode结构
linux·运维·服务器
cicada151 小时前
如何在Windows系统下使用Linux环境?
linux·运维·windows
雅菲奥朗1 小时前
雅菲奥朗SRE知识墙分享(九)『DevOps & SRE 如何实现职场转型?』
运维·devops·sre
今天也想MK代码2 小时前
数据模型与持久化存储
linux·运维·ubuntu
哇哈哈&2 小时前
awk与sed的基本使用
linux·运维·服务器
水天需0102 小时前
Vim 搜索和替换详解
linux
乔碧萝成都分萝2 小时前
十六、一个基本的GPIO驱动程序
linux·驱动开发·嵌入式
ModestCoder_2 小时前
Ubuntu 22.04,Isaac Sim 5.1.0 + Isaac Lab 2.3.0 Conda 环境安装指南
linux·ubuntu·conda