Linux查看系统版本和内核信息,cat /etc/os-release和uname命令

前言

刚拿到一台服务器,第一步就是看看是什么系统、什么版本、内核是多少。不同的系统版本配置方法不一样,CentOS7 和 CentOS8 的防火墙命令都不一样,Ubuntu 和 CentOS 的包管理器也不一样。所以第一件事就是确认系统版本。本文就讲一下怎么查看 Linux 系统版本和内核信息。

查看系统版本

方法一:cat /etc/os-release(推荐)

这是最通用的方法,所有现代 Linux 发行版都有这个文件:

cat /etc/os-release

CentOS7 输出示例:

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Ubuntu 输出示例:

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"

重点看 NAME、VERSION、VERSION_ID 这几行。

方法二:cat /etc/redhat-release(CentOS/RHEL专用)

CentOS 和 RHEL 系统可以直接看这个文件:

cat /etc/redhat-release

输出:

CentOS Linux release 7.9.2009 (Core)

方法三:lsb_release -a

lsb_release -a

输出:

Distributor ID: CentOS
Description:    CentOS Linux release 7.9.2009 (Core)
Release:        7.9.2009
Codename:       Core

注意: 有些系统默认没装 lsb_release,需要先安装:

yum install redhat-lsb -y

方法四:hostnamectl

hostnamectl

输出会显示系统信息,包括操作系统和内核版本:

   Static hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: xxxxxxxx
           Boot ID: xxxxxxxx
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64

这个命令同时显示系统版本和内核版本,很方便。

查看内核版本

方法一:uname -a(最常用)

uname -a

输出示例:

Linux localhost 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:58 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

各段含义:

  • Linux:内核名
  • localhost:主机名
  • 3.10.0-1160.el7.x86_64:内核版本
  • #1 SMP ...:编译信息
  • x86_64 x86_64 x86_64:硬件架构、处理器类型、操作系统类型

方法二:uname -r

只看内核版本号:

uname -r

输出:

3.10.0-1160.el7.x86_64

内核版本号拆解:

  • 3:主版本
  • 10:次版本
  • 0:修订版本
  • 1160:RHEL补丁号
  • el7:Enterprise Linux 7
  • x86_64:64位

方法三:cat /proc/version

cat /proc/version

输出:

Linux version 3.10.0-1160.el7.x86_64 (mockbuild@x86-01.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:58 UTC 2020

查看系统架构

uname -m

输出:

x86_64

说明是64位系统。如果输出 i686 就是32位。

或者用:

arch

实际应用场景

场景1:刚拿到服务器,先确认系统版本

cat /etc/os-release
uname -r

确认是 CentOS7 还是 Ubuntu,内核版本是多少。

场景2:安装软件前确认版本

不同版本的系统安装方法不一样,CentOS7 用 yum,Ubuntu 用 apt。先确认版本再装软件。

场景3:排查内核兼容性问题

有些软件要求特定内核版本,先看看当前内核版本够不够。

uname -r

场景4:确认是32位还是64位

uname -m

常见坑

坑1:cat /etc/issue 不准

很多老教程说用 cat /etc/issue 看系统版本,但这个文件可能被改过,不一定准。推荐用 /etc/os-release。

坑2:把内核版本和系统版本搞混

内核版本是 uname -r 显示的,系统版本是 /etc/os-release 显示的。这两个不一样,别搞混了。

坑3:CentOS 各小版本不影响大版本

CentOS7.9 和 CentOS7.6 都是 CentOS7,大部分操作是一样的。只要大版本对就行,不用纠结小版本号。

总结

查看系统版本和内核信息的核心命令:

  1. cat /etc/os-release:看系统版本(最通用)
  2. cat /etc/redhat-release:CentOS/RHEL 专用
  3. uname -a:看内核版本和系统架构
  4. uname -r:只看内核版本号
  5. hostnamectl:同时看系统版本和内核版本

拿到一台新服务器,先跑这几个命令确认系统环境,再开始做其他操作。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-5 07:42