cat /etc/os-release 可查看Linux发行版信息,该文件包含NAME、VERSION、ID等键值对,输出标准化且适用于Ubuntu、CentOS等主流系统,比lsb_release或uname更可靠,适合终端查询与脚本判断。

在Linux系统中,想要快速查看当前操作系统的发行版本信息,cat /etc/os-release 是最常用且可靠的方法之一。这个命令能输出标准化的系统元数据,适用于大多数现代Linux发行版,如Ubuntu、CentOS、Debian、Fedora等。
什么是 /etc/os-release 文件?
/etc/os-release 是一个由 systemd 维护的系统配置文件,定义了操作系统的基本标识信息。它采用键值对格式,内容统一规范,便于程序和用户读取系统版本信息。
该文件通常包含以下关键字段:
- NAME:操作系统名称,例如 "Ubuntu" 或 "CentOS Linux"
- VERSION:带括号的版本号和代号,如 "22.04.3 LTS (Jammy Jellyfish)"
- ID:用于脚本识别的简短ID,如 ubuntu、centos、fedora
- ID_LIKE:表明系统兼容的发行体系,如 debian 或 rhel
- PRETTY_NAME:格式化后的完整系统名称,适合显示给用户
- VERSION_ID:纯数字版本号,常用于自动化脚本判断
- HOME_URL:官方主页链接
- SUPPORT_URL:技术支持页面
- BUILD_ID:构建编号(部分系统有)
如何使用 cat /etc/os-release 查看版本?
打开终端,输入以下命令:
cat /etc/os-release输出示例(以Ubuntu为例):
NAME="Ubuntu" VERSION="22.04.3 LTS (Jammy Jellyfish)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 22.04.3 LTS" VERSION_ID="22.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
从输出中可以清楚看出系统是 Ubuntu 22.04 LTS 版本,代号 Jammy Jellyfish。
与其他查看版本命令的区别
虽然还有其他命令可查看系统信息,但 /etc/os-release 更标准、更推荐:
- lsb_release -a:功能强大,但某些最小化系统可能未安装 lsb 工具包
- uname -r:只显示内核版本,不反映发行版信息
- /etc/issue 或 /etc/*-release:格式不统一,不同发行版路径各异
而 /etc/os-release 被设计为跨平台标准,几乎所有主流发行版都支持,适合写脚本或自动化检测。
在脚本中如何安全使用?
若在Shell脚本中需要判断系统类型或版本,可通过 source 或 grep 读取该文件:
source /etc/os-release echo "当前系统: $PRETTY_NAME" if [ "$ID" = "ubuntu" ] && [[ "$VERSION_ID" == "22.04" ]]; then echo "运行在 Ubuntu 22.04 上" fi这种方式比依赖外部命令更稳定,尤其适合容器或精简环境。
基本上就这些。掌握 cat /etc/os-release 命令,能让你快速准确地获取Linux系统的版本信息,无论是日常使用还是运维开发都很实用。










