在 Ubuntu 系统里,查看版本信息其实有几种方法,但最稳妥、最能直接反映你当前运行环境的是看 /etc/os-release 文件或者使用 lsb_release 命令。
这里给你几个常用且靠谱的命令,按推荐程度排序:
1. 最标准的方法:lsb_release -a
这是 Linux Standard Base (LSB) 的标准输出方式,大部分 Ubuntu 版本都预装了 lsb-release 包。
lsb_release -a
输出示例:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
- 注意:如果你刚装完系统发现没反应,可能是没装这个工具。执行
sudo apt install lsb-release即可安装。 - 优点:格式统一,容易解析,适合脚本判断。
2. 最底层/最真实的方法:cat /etc/os-release
这是现代 Linux 发行版(包括 Ubuntu 16.04+)通用的静态配置文件。它不依赖任何动态库或额外安装包,只要系统能启动,这个文件就一定存在。
cat /etc/os-release
关键看这两行:
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_ID="22.04"
- 优点:绝对可靠,不会因为缺少某些包而报错,是容器化环境(如 Docker)中最常用的判断依据。
3. 快速查看内核版本 vs 系统版本
有时候大家会混淆“Ubuntu 版本”和“Linux 内核版本”。如果你只是想知道内核跑了多少,用 uname:
uname -r
输出类似:5.15.0-91-generic
但这不是 Ubuntu 的版本号。比如同样的内核可能跑在 Ubuntu 20.04 或 22.04 上。所以要看系统版本,还是得回到前两个方法。
4. 其他辅助命令
-
hostnamectl status
这个命令在现代 systemd 管理的系统中很常见,输出会包含 OS 类型和版本,信息比较丰富,但格式不如上面两个简洁。 -
cat /etc/lsb-release
这是lsb_release命令读取的源文件之一,内容比/etc/os-release简单一些,只包含 LSB 相关字段。
实际建议
- 日常手动查看:直接用
lsb_release -a,一眼就能看清。 - 写脚本自动化判断:强烈建议解析
/etc/os-release中的VERSION_ID字段,兼容性最好。 - 云服务器 ECS/CVM 场景:很多云厂商提供的镜像默认安装了这些基础工具,但如果遇到最小化安装的容器镜像(如 Alpine 变体或非官方精简版),可能连
lsb-release都没有,这时候cat /etc/os-release是唯一救星。
别被网上那些花里胡哨的教程绕晕了,记住这两个核心命令就够用了。
云技术博客