显示和解释有关 Linux 版本的信息比看起来要复杂一些。
与引用一个简单的版本号不同,识别 Linux 版本有很多种方法。即使只是快速查看一下 uname 命令的输出,也可以告诉你一些信息。这些信息是什么,它告诉你什么?
在本文中,我们将认真研究 uname 命令的输出以及其他一些命令和文件提供的版本说明。
使用 uname
每当在 Linux 系统终端窗口中执行命令 uname -a 时,都会显示很多信息。那是因为这个小小的 a 告诉 uname 命令你想查看该命令能提供的全部输出。结果显示的内容将告诉你许多有关该系统的各种信息。实际上,显示的每一块信息都会告诉你一些关于系统的不同信息。
例如,uname -a 输出看起来像这样:
$ uname-a
Linux dragonfly 5.4.0-37-generic#41-Ubuntu SMP WedJun318:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
尽管这可能不太重要,但你可以使用一个按适当的顺序包含 uname 所有选项来显示相同的信息:
$ uname-snmrvpio
Linux dragonfly 5.4.0-37-generic#41-Ubuntu SMP WedJun318:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
要将这一长串信息分解为单独的块,可以使用类似这样的 for 循环来遍历每个选项:
$ for option in s n m r v p i o;doecho-n "$option: ";uname-$option;done
s:Linux
n: dragonfly
m: x86_64
r:5.4.0-37-generic
v:#41-Ubuntu SMP WedJun318:57:02 UTC 2020
p: x86_64
i: x86_64
o: GNU/Linux
该循环显示了该选项提供了哪些信息。uname 手册页提供了每个选项的描述。以下是清单:
Linux –- 内核名称(选项 s)
dragonfly –- 节点名(选项 n)
x86_64 –- 机器硬件名(选项 m)
5.4.0-37-generic –- 内核发布版本(选项 r)
#41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 — 内核版本(选项 v)
x86_64 –- 处理器(选项 p)
x86_64 –- 硬件平台(选项 i)
GNU/Linux –- 操作系统(选项 o)
要更深入地研究显示的信息,请认真查看显示的内核发行数据。第四行中的 5.4.0-37 不仅仅是一串任意数字。每个数字都很重要。
5 表示内核版本
4 表示主要版本
0 表示次要版本
37 表示最新补丁
此外,在上面的循环中输出的第 5 行(内核版本)中的 #41 表示此发布版本已编译 41 次。
如果你只想显示所有信息中的一项,那么单个选项可能很有用。例如,命令 uname -n 可以仅告诉你系统名称,而 uname -r 仅可以告诉你内核发布版本。在盘点服务器或构建脚本时,这些和其他选项可能很有用。
在 Red Hat 系统时,uname -a 命令将提供相同种类的信息。这是一个例子:
$ uname-a
Linux fruitfly 4.18.0-107.el8.x86_64 #1 SMP FriJun1413:46:34 UTC 2