顯示和解釋有關(guān) Linux 版本的信息比看起來要復(fù)雜一些。
與引用一個(gè)簡單的版本號(hào)不同,識(shí)別 Linux 版本有很多種方法。即使只是快速查看一下 uname 命令的輸出,也可以告訴你一些信息。這些信息是什么,它告訴你什么?
在本文中,我們將認(rèn)真研究 uname 命令的輸出以及其他一些命令和文件提供的版本說明。
使用 uname
每當(dāng)在 Linux 系統(tǒng)終端窗口中執(zhí)行命令 uname -a 時(shí),都會(huì)顯示很多信息。那是因?yàn)檫@個(gè)小小的 a 告訴 uname 命令你想查看該命令能提供的全部輸出。結(jié)果顯示的內(nèi)容將告訴你許多有關(guān)該系統(tǒng)的各種信息。實(shí)際上,顯示的每一塊信息都會(huì)告訴你一些關(guān)于系統(tǒng)的不同信息。
例如,uname -a 輸出看起來像這樣:
$ uname -a
Linux dragonfly 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
盡管這可能不太重要,但你可以使用一個(gè)按適當(dāng)?shù)捻樞虬?uname 所有選項(xiàng)來顯示相同的信息:
$ uname -snmrvpio
Linux dragonfly 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
要將這一長串信息分解為單獨(dú)的塊,可以使用類似這樣的 for 循環(huán)來遍歷每個(gè)選項(xiàng):
$ for option in s n m r v p i o; do echo -n "$option: "; uname -$option; done
s: Linux
n: dragonfly
m: x86_64
r: 5.4.0-37-generic
v: #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020
p: x86_64
i: x86_64
o: GNU/Linux
該循環(huán)顯示了該選項(xiàng)提供了哪些信息。uname 手冊頁提供了每個(gè)選項(xiàng)的描述。以下是清單:
- Linux –- 內(nèi)核名稱(選項(xiàng) s)
- dragonfly –- 節(jié)點(diǎn)名(選項(xiàng) n)
- x86_64 –- 機(jī)器硬件名(選項(xiàng) m)
- 5.4.0-37-generic –- 內(nèi)核發(fā)布版本(選項(xiàng) r)
- #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 -- 內(nèi)核版本(選項(xiàng) v)
- x86_64 –- 處理器(選項(xiàng) p)
- x86_64 –- 硬件平臺(tái)(選項(xiàng) i)
- GNU/Linux –- 操作系統(tǒng)(選項(xiàng) o)
要更深入地研究顯示的信息,請認(rèn)真查看顯示的內(nèi)核發(fā)行數(shù)據(jù)。第四行中的 5.4.0-37 不僅僅是一串任意數(shù)字。每個(gè)數(shù)字都很重要。
- 5 表示內(nèi)核版本
- 4 表示主要版本
- 0 表示次要版本
- 37 表示最新補(bǔ)丁
此外,在上面的循環(huán)中輸出的第 5 行(內(nèi)核版本)中的 #41 表示此發(fā)布版本已編譯 41 次。
如果你只想顯示所有信息中的一項(xiàng),那么單個(gè)選項(xiàng)可能很有用。例如,命令 uname -n 可以僅告訴你系統(tǒng)名稱,而 uname -r 僅可以告訴你內(nèi)核發(fā)布版本。在盤點(diǎn)服務(wù)器或構(gòu)建腳本時(shí),這些和其他選項(xiàng)可能很有用。
在 Red Hat 系統(tǒng)時(shí),uname -a 命令將提供相同種類的信息。這是一個(gè)例子:
$ uname -a
Linux fruitfly 4.18.0-107.el8.x86_64 #1 SMP Fri Jun 14 13:46:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
發(fā)行版信息
如果你需要了解運(yùn)行的發(fā)行版是什么,那么 uname 的輸出不會(huì)對你有太大幫助。畢竟,內(nèi)核版本與發(fā)行版不同。關(guān)于這個(gè)信息,你可以在 Ubuntu 和其他基于 Debian 的系統(tǒng)上使用 lsb_release -r 命令,而在 Red Hat 上可以顯示 /etc/redhat-release 文件的內(nèi)容。
對于 Debian 系統(tǒng):
$ lsb_release -r
Release: 20.04
對于 Red Hat 及相關(guān)系統(tǒng):
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.1 Beta (Ootpa)
使用 /proc/version
/proc/version 文件還可以提供有關(guān) Linux 版本的信息。該文件中提供的信息與 uname -a 輸出有很多共同點(diǎn)。以下是例子。
在 Ubuntu 上:
$ cat /proc/version
Linux version 5.4.0-37-generic (buildd@lcy01-amd64-001) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020
在 RedHat 上:
$ cat /proc/version
Linux version 4.18.0-107.el8.x86_64 (mockbuild@x86-vm-09.build.eng.bos.redhat.com) (gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)) #1 SMP Fri Jun 14 13:46:34 UTC 2019
總結(jié)
Linux 系統(tǒng)提供了很多關(guān)于內(nèi)核和發(fā)行版安裝的信息。你只需要知道在哪里或如何尋找并理解它的含義。
到此這篇關(guān)于解密 Linux 版本信息的方法的文章就介紹到這了,更多相關(guān)解密 Linux 版本信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!