当你像调试驱动程序时,你可能想知道您的系统使用的是哪个Linux内核版本?以下是在Linux终端中检查内核版本的三种方法。
在本教程中,我们将说明如何在命令行中检查Linux内核版本的3种方法。满足你在调试驱动程序时候的需求。
我在写这篇文章时正在使用Ubuntu。但这些命令是通用的,可以在Fedora、Debian、CentOS、SUSE Linux或任何其他Linux发行版上使用。
使用uname命令查找Linux内核版本
uname是用于获取系统信息的Linux命令。您还可以使用它来确定您使用的是32位系统还是64位系统。
打开终端并输入以下命令:
uname -r
输出将类似于以下内容:
4.4.0-97-generic
这意味着您正在运行Linux内核4.4.0-97,或者更笼统地说,您正在运行 Linux 内核版本 4.4。
但是这里的其他数字是什么意思?
- 4 – 内核版本
- 4 – 重大修订
- 0 – 小修订
- 97 – 错误修复
- generic – 特定于发行版的字符串。对于Ubuntu,这意味着我使用的是桌面版本。对于Ubuntu服务器版本,它将是server。
您还可以使用带有选项-a的uname命令。如果您需要,这将提供更多系统信息。
uname -a
命令的输出应该是这样的:
Linux itsfoss 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
让我看一下输出及其含义:
- Linux – 内核名称。如果在BSD或macOS上运行相同的命令,结果会有所不同。
- myfreax – 主机名。
- 4.4.0-97-generic – 内核版本(如我们上面所见)。
- #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 – 这意味着Ubuntu已经编译了4.4.0-97-generic 120次。上次编译的时间戳也在那里。
- x86_64 – 机器架构。
- x86_64 – 处理器架构。
- x86_64 – 操作系统架构(您可以在64位处理器上运行32位操作系统)。
- GNU/Linux – 操作系统。
让我们看看其他一些命令来查找您的 Linux 内核版本。
使用/proc/version文件查找Linux内核
在 Linux 中,您还可以在文件/proc/version中找到内核信息。我们可以使用cat命令看看这个文件的内容:
cat /proc/version
您将看到类似于使用 uname 看到的输出。
Linux version 4.4.0-97-generic (buildd@lcy01-33) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017
您可以在此处查看内核版本 4.4.0-97-generic。
使用dmesg命令查找Linux内核版本
dmesg是用于编写内核消息的强大命令。它对于获取系统信息也非常有用。
由于dmesg提供了大量信息,您通常应该使用诸如less之类的命令来阅读它。但由于我们在这里只是为了检查Linux内核版本,因此在“Linux”上使用grepping应该会提供所需的输出。
dmesg | grep Linux
输出将有几行,但您应该能够轻松识别Linux内核版本。
[ 0.000000] Linux version 4.4.0-97-generic (buildd@lcy01-33) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 (Ubuntu 4.4.0-97.120-generic 4.4.87)
[ 0.182880] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 1.003861] Linux agpgart interface v0.103
[ 1.007875] usb usb1: Manufacturer: Linux 4.4.0-97-generic xhci-hcd
[ 1.009983] usb usb2: Manufacturer: Linux 4.4.0-97-generic xhci-hcd
[ 5.371748] media: Linux media interface: v0.10
[ 5.399948] Linux video capture interface: v2.00
[ 5.651287] VBoxPciLinuxInit
结论
在这里讨论的三种方式,uname是最方便的。直接读取/proc/version适合在编写程序的时候使用。dmesg命令这个我们一般很少使用。如果您有任何疑问或反馈,请随时在下面评论。