通过 SSH 登录 Linux 系统后,有多种可靠方法查询当前系统的版本号(即发行版名称和版本号,如 Ubuntu 22.04、CentOS 7.9、Debian 12 等)。以下是常用且兼容性好的命令,按推荐顺序排列:
✅ 首选(最通用、标准):
cat /etc/os-release
👉 输出示例:
NAME="Ubuntu"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.4 LTS"
VERSION_ID="22.04"
...
✔️ 适用于所有现代 Linux 发行版(systemd 系统),是 LSB 和 systemd 官方推荐的标准方式。
✅ 简洁查看(快速获取关键信息):
hostnamectl
👉 输出包含操作系统、内核版本、架构等,例如:
Static hostname: myserver
Icon name: computer-server
Chassis: server
Machine ID: xxx
Boot ID: xxx
Virtualization: kvm
Operating System: Ubuntu 22.04.4 LTS
Kernel: Linux 5.15.0-107-generic
Architecture: x86-64
⚠️ 注意:hostnamectl 依赖 systemd,不适用于无 systemd 的系统(如部分 Alpine、旧版 CentOS 6、Devuan 等)。
✅ 备选(兼容老系统):
lsb_release -a # 需 lsb-release 包(多数主流发行版默认安装)
# 或简写:
lsb_release -ds # 单行显示(如 "Ubuntu 22.04.4 LTS")
❗ 若提示 command not found,可先安装(如 Ubuntu/Debian):
sudo apt update && sudo apt install -y lsb-release
✅ 其他辅助命令(按需使用):
- 查看内核版本(非发行版版本,但常被混淆):
uname -r # 如 5.15.0-107-generic uname -a # 更详细(含主机名、架构、内核编译时间等) - 查看
/etc/issue(登录前显示的系统信息,可能被修改):cat /etc/issue - 发行版特定文件(仅作参考,不推荐作为唯一依据):
cat /etc/redhat-release # RHEL/CentOS/Fedora(RHEL系) cat /etc/debian_version # Debian(仅版本号,无名称) cat /etc/centos-release # CentOS
| 📌 总结建议: | 场景 | 推荐命令 |
|---|---|---|
| ✅ 通用首选(推荐) | cat /etc/os-release |
|
| ✅ 快速+带系统状态 | hostnamectl(确认是 systemd 系统) |
|
| ✅ 兼容老系统或需格式化输出 | lsb_release -ds(若已安装) |
💡 小技巧:将常用信息组合成一行(适合脚本或快速复制):
awk -F= '/^PRETTY_NAME/{print $2}' /etc/os-release | tr -d '"'
# 输出:Ubuntu 22.04.4 LTS
如有具体发行版或遇到命令报错,欢迎提供 cat /etc/os-release 的输出(脱敏后),我可以帮你精准解析 👍
云小栈