linux极简小知识:21、如何查询/查看linux系统版本和内核版本【最全方法介绍uname、redhat-release、version、lsb_relea

2,454 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。

uname查看系统信息(linux内核版本)

uname(全拼:unix name)命令用于显示系统信息,以及linux的内核版本。

uname -r 用于查看linux的内核版本。

uname命令的参数说明:

  • -a--all  显示全部的信息。
  • -m--machine  显示架构类型。
  • -n--nodename  显示在网络上的主机名称。
  • -r--release  显示linux的内核版本。
  • -s--sysname  显示操作系统名称。
  • -v  显示操作系统的版本。
  • --help  显示帮助。
  • --version  显示版本信息。

如下:

[root@VM_0_15_centos ~]# uname
Linux
[root@VM_0_15_centos ~]# uname -r
3.10.0-957.21.3.el7.x86_64
[root@VM_0_15_centos ~]# uname -a
Linux VM_0_15_centos 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

其他:

[root@VM_0_15_centos ~]# uname -m
x86_64
[root@VM_0_15_centos ~]# uname -n
VM_0_15_centos
[root@VM_0_15_centos ~]# uname -v
#1 SMP Tue Jun 18 16:35:19 UTC 2019
[root@VM_0_15_centos ~]# uname -s
Linux

SMP:对称多处理(Symmetrical Multi-Processing)或 对称多处理器 (Symmetric Multi-Processor) ,是服务器常用的一种系统架构模式。

发行版中前面的 3.10.0 是linux内核版本,是RHEL/Centos7使用的内核。

/etc/redhat-release文件查看发行版本

# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

/proc/version 文件查看详细版本

# cat /proc/version
Linux version 3.10.0-957.21.3.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Tue Jun 18 16:35:19 UTC 2019

lsb_release命令查看系统版本信息

lsb_release命令

lsb_release 命令显示有关的特定 Linux 发行版的 LSB(Linux Standard Base)信息,包括版本号(version number)、发行代号(release codename)和发行商ID(distributor ID)。

# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core)
Release:        7.3.1611
Codename:       Core

此命令适用于所有的linux,包括Redhat、SUSE、Debian等发行版,前提是安装了LSB Core。

安装LSB Core

lsb_release 是 LSB Core 软件包的一部分。默认不是必须安装在系统中。

下面是几个不同的系统安装 LSB Core 的介绍:

  • RHEL/Centos
sudo yum update && sudo yum install redhat-lsb-core
  • RHEL8/Centos8/Fedora
sudo dnf update && sudo dnf install redhat-lsb-core
  • Ubuntu, Debian
sudo apt-get update && sudo apt-get install lsb-core
  • OpenSUSE
sudo zypper update && sudo zypper install lsb-core
  • Arch
pacman -Syu lsb-release

其他

上面的几个命令,尤其是uname已经列出来所有的发行版本和内核版本,及机器的信息。

此外,可能还有不怎么使用,或者,很取巧的方式,获取版本或架构位数信息的方式,如下几种的介绍。

  • getconf LONG_BIT 或 getconf WORD_BIT
# getconf LONG_BIT
64

长整型的位数(long int)来表示系统的位数。

  • /bin/ls文件信息(file /bin/ls
# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=3d705971a4c4544545cb78fd890d27bf792af6d4, stripped

ELF 全称 “Executable and Linkable Format”,即可执行可链接文件格式,目前常见的Linux、 Android可执行文件、共享库(.so)、目标文件( .o)以及 Core 文件(吐核)均为此格式。

参考