我如何查找我正在运行的内核版本?

以前驱动程序的路径通常是/lib/modules/<kernel-version>/kernel/net/wireless
我需要这个信息来完成更新我的STA Broadcom无线网卡。然而,我对Ubuntu不太熟悉,不知道如何找到内核版本或内核。
我检查了/lib/modules/,发现了这个:
2.6.27-10-generic  2.6.32-30-generic  2.6.32-34-generic  2.6.32-38-generic
2.6.27-7-generic   2.6.32-31-generic  2.6.32-35-generic  3.2.0-54-generic
2.6.28-19-generic  2.6.32-32-generic  2.6.32-36-generic  3.2.0-54-generic-pae
2.6.31-23-generic  2.6.32-33-generic  2.6.32-37-generic

哪一个是正在运行的内核?
另一个问题。有没有一个片段,这样我就不用剪切和粘贴了?
谢谢你的时间!:)
6个回答

有多种方法可以找到内核版本。
打开终端并执行:
uname -r

它会显示类似于:
3.8.0-30-generic

您可以通过以下方式获取有关当前内核的更多信息:
uname -a

它会显示类似于:
Linux saurav-P4I45Gx-PE 3.8.0-30-generic #44~precise1-Ubuntu SMP Fri Aug 23 17:33:45 UTC 2013 i686 i686 i386 GNU/Linux

另一种了解内核版本的方法是打开Synaptic Package Manager并搜索linux image。您需要检查已安装的Kernel版本。
找到已安装内核版本的另一种方法是运行以下命令:
dpkg -l | grep linux-image | grep ii

或者只需版本字符串:
dpkg -l | grep linux-image | grep ii | awk '{print $3}'

最新的内核(版本号最高的那个)将默认启动,因此如果您在上次内核更新后重新启动过,并且没有对除默认内核之外的其他内核进行调整,那么您可以合理地确定显示的最高版本号将是正在运行的内核版本,但是为了获得更可靠的信息,您应该使用 uname

uname -auname -r会提供你所使用的内核信息。


注意:如果您在脚本中使用uname -r,请记得去掉可能的“-Microsoft”后缀,以支持Windows子系统Linux(WSL)。请参阅此处此处 - Elazar

Ubuntu内核的官方版本可以在/proc/version_signature文件中找到(主线内核可能没有该文件,在这种情况下,uname -r就足够了)。

该文件包含了Ubuntu内核的完整版本以及其基于的主线版本。第一个字段始终是Ubuntu,第二个字段是Ubuntu内核版本,最后一个字段是上游版本:

$ cat /proc/version_signature
Ubuntu 2.6.35-6.9-generic 2.6.35-rc3

这类问题以及许多类似问题都在Ubuntu内核团队的维基页面中有详细解答,特别是常见问题解答部分。


3在Ubuntu Precise Pangolin 12.04上,运行cat /proc/version_signature会显示cat: /proc/version_signature: 文件或目录不存在。但是,可以使用cat /proc/version命令来查看系统版本信息。 - BuZZ-dEE
1/proc/version_signature 在 4.3 中似乎已经消失(来自内核团队主线软件包存档),而 /proc/version 不是替代品;它没有上游信息。 - Tobu

在遵循FHS的系统上,您应该能够使用以下命令获取内核信息:
cat /proc/version

此外,您可以使用以下命令查看已安装在系统上的其他内核,并可能通过GRUB或其他引导加载程序启动:
ls /boot/vmlinuz*

如果你不想打开终端,你可以使用gnome-system-monitor来查看你的内核版本。在菜单中找到系统监视器,并在第一个选项卡系统中查找。

enter image description here


你可以使用以下两个命令:
uname -r 

对于版本-输出如下:

3.5.0.17-generic

并且

uname -v

更新时间 - 输出如下:
#-ubuntu SMP Tue Oct 9 19:32:08 UTC 2012