加油
努力

通过SSH登录后如何查出当前系统的版本号?

通过 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 的输出(脱敏后),我可以帮你精准解析 👍

云服务器