Linux如何查看系统版本和内核信息 命令汇总【教程】

落晨小哥_5941

落晨小哥_5941

2026-04-15

1052人浏览

原创

最可靠查发行版用cat /etc/os-release,查内核版本用uname -r;/etc/os-release字段标准、通用性强,uname -r输出精简精准,二者分别优于lsb_release -a和uname -a。

linux如何查看系统版本和内核信息 命令汇总【教程】

直接看结论:用 cat /etc/os-release 查发行版最可靠,uname -r 查内核版本最精准;别只依赖 cat /etc/redhat-releaselsb_release -a,它们要么不通用,要么可能未安装或输出被篡改。

查发行版名称和版本号,优先用 /etc/os-release

这个文件是 LSB(Linux Standard Base)强制要求所有现代发行版(Ubuntu、CentOS、Debian、Fedora、AlmaLinux 等)都提供的标准路径,内容结构统一、字段明确。

  • cat /etc/os-release 输出完整键值对,重点看 PRETTY_NAMEVERSION_ID
  • 脚本中快速提取: grep PRETTY_NAME /etc/os-release | cut -d= -f2 | tr -d '"'
  • /etc/redhat-release 仅 Red Hat 系家族有,/etc/issue 可能被管理员自定义,不可信
  • lsb_release -a 在 Ubuntu 默认可用,但 CentOS/RHEL 8+ 默认不装 redhat-lsb-core,运行会报 command not found

查内核版本,uname -runame -a 更干净

uname -a 信息全但冗长,含主机名、架构、编译时间等无关字段;排查驱动兼容性或升级需求时,只需要纯版本字符串,uname -r 正好返回 5.15.0-105-generic 这类格式。

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载
  • uname -r 是最常用、最轻量的内核版本获取方式
  • cat /proc/version 包含 GCC 版本和编译主机信息,适合审计或溯源,但对日常运维冗余
  • hostnamectl | grep kernel 依赖 systemd,容器环境或最小化系统可能无此命令

查 CPU 架构和位数,别只信 uname -m

uname -m 返回 x86_64aarch64,但它只表示当前内核运行模式,不等于 CPU 原生能力。比如 64 位内核跑在支持 32/64 的 CPU 上,uname -m 仍显示 x86_64,但你无法反推是否真能运行 32 位程序。

  • 确认是否为 64 位系统,用 getconf LONG_BIT —— 返回 64 才代表用户空间是 64 位
  • 看 CPU 原生能力: lscpu | grep "CPU op-mode",输出类似 CPU op-mode(s): 32-bit, 64-bit
  • uname -m 在 CI/CD 脚本里常被误用作平台判断依据,容易在混合架构集群中出错

组合使用场景:写部署脚本前必须验证的两件事

自动化部署或 Ansible Playbook 启动前,建议固定检查这两项,避免因版本不匹配导致后续失败:

  • 发行版是否符合预期:grep -q "Ubuntu" /etc/os-release && grep -q "22.04" /etc/os-release
  • 内核是否 ≥ 某个最低要求:[ "$(uname -r | cut -d'-' -f1 | sed 's/[^0-9.]//g')" \> "5.4.0" ](注意浮点比较需转义)
  • 别用 cat /proc/version | grep -o "5\.[0-9]\+" | head -1 提取版本 —— 字符串匹配不稳定,遇到 5.10.0-14-amd64 可能截断成 5.105.10.0,造成误判

真正容易被忽略的是:/etc/os-release 的字段名大小写敏感,且不同发行版对 ID_LIKE 的填充策略不一致(如 AlmaLinux 填 rhel fedora,Rocky Linux 只填 rhel),做跨发行版适配时得预留 fallback 逻辑。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux 系统版本

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1518

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2184

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

5684

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

4669

6

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

2024.03.22

6414

16

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2024.04.29

8474

11

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

2025.07.29

4299

17

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

2025.08.07

4327

13

常用字符串方法大全
常用字符串方法大全

常用字符串方法大全

2025.08.08

2288

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习