最可靠方法是读取/etc/os-release文件,它由systemd规范定义,包含pretty_name等字段,可直接显示“ubuntu 22.04.3 lts”等完整发行版信息。

如果您需要快速确认当前Linux系统属于哪个发行版及其具体版本号,系统通常将这些信息以标准化格式存储在特定文件或通过统一命令接口提供。以下是几种直接、可靠且无需额外安装依赖的方法:
一、读取 /etc/os-release 文件
该文件是systemd规范定义的发行版标识标准,被绝大多数现代Linux发行版(Ubuntu、CentOS、Debian、Fedora、Arch等)采用,内容结构化、字段明确,无需额外工具即可解析。
1、在终端中执行:cat /etc/os-release
2、查找输出中的 PRETTY_NAME 字段,它直接显示人类可读的完整发行版名称与版本,例如 "Ubuntu 22.04.3 LTS" 或 "CentOS Linux 8 (Core)"
3、如需仅提取发行版名称和主版本号,可配合grep使用:grep -E "^(NAME|VERSION_ID|PRETTY_NAME)=" /etc/os-release
二、使用 hostnamectl 命令
hostnamectl 是 systemd 系统的内置工具,不仅显示主机名,还整合了来自 /etc/os-release 的操作系统元数据,输出简洁、语义清晰,适用于所有启用 systemd 的发行版。
1、在终端中输入:hostnamectl
2、定位输出中 Operating System: 行,其后即为发行版全称与版本信息
3、若只需操作系统字段,可过滤显示:hostnamectl | grep "Operating System"
三、调用 lsb_release 命令
lsb_release 命令专为Linux Standard Base兼容性设计,输出格式统一,特别适合脚本中提取标准化字段,但部分最小化安装系统可能未预装该工具。
1、运行:lsb_release -ds 直接显示单行描述信息,例如 "Ubuntu 22.04.3 LTS"
2、如需完整字段,使用:lsb_release -a
3、若提示 command not found,说明未安装;在基于RHEL/CentOS的系统上执行:yum install -y redhat-lsb-core;在Debian/Ubuntu上执行:apt-get install -y lsb-release
四、检查 /etc/*-release 文件
该路径下存在多个发行版特异性文件(如 /etc/redhat-release、/etc/debian_version、/etc/arch-release),内容简短直接,适合作为备用方案,尤其在 /etc/os-release 不可用或被定制修改时。
1、尝试查看通用释放文件:cat /etc/*-release 2>/dev/null | head -n 1
2、针对常见发行版分别检查:cat /etc/redhat-release(适用于RHEL/CentOS/Fedora)、cat /etc/debian_version(适用于Debian/Ubuntu)、cat /etc/arch-release(适用于Arch Linux)
3、注意:/etc/issue 文件虽也常含发行版信息,但其内容由管理员控制,用于登录前提示,不具权威性,仅作参考










