学习啦>学习电脑>操作系统>操作系统基础知识>

Linux操作系统查看内核版本的方法

佳洲分享

  在使用Linux操作系统时有时候需要了解操作系统的内核版本,那么要怎么查看呢?下面由学习啦小编整理了Linux操作系统查看内核版本的相关方法,希望对你有帮助。

  Linux操作系统查看内核版本的方法一

  1.命令uname -a

  uname来源于utsname,是一个系统调用,格式为

  int uret = uname((struct utsname)* uname_buf),

  其中,结构体指针uname_buf中主要存放的是操作系统名称、内核版本和硬件体系结构;

  结构体struct utsname的定义如下:

  [plain] view plain copy print?

  struct utsname {

  char sysname[]; /* Operating system name (e.g., "Linux") */

  char nodename[]; /* Name within "some implementation-defined

  network" */

  char release[]; /* OS release (e.g., "2.6.28") */

  char version[]; /* OS version */

  char machine[]; /* Hardware identifier */

  #ifdef _GNU_SOURCE

  char domainname[]; /* NIS or YP domain name */

  #endif

  };

  utsname中的UTS指的应该是Universal Time–sharing System(通用分时系统)。

  ubuntu中运行uname -a的结果如下所示:

  [plain] view plain copy print?

  david@david-nb:~$ uname -a

  Linux david-nb 3.0.0-32-generic #51-Ubuntu SMP Thu Mar 21 15:51:26 UTC 2013 i686 i686 i386 GNU/Linux

  david@david-nb:~$

  内核版本为:3.0.0-32-generic

  Linux操作系统查看内核版本的方法二

  2.命令cat /proc/version

  proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在linux内核空间和用户空间进行通信。

  与普通文件不同的是,这些虚拟文件都是动态创建的。

  /proc非常强大,如下所示为对/proc中部分元素执行一次交互查询的结果:

  [plain] view plain copy print?

  david@david-nb:~$ ls /proc

  1 1279 1480 1512 1576 1646 1803 20 264 3081 565 902 buddyinfo fb loadavg scsi version_signature

  1001 13 1485 1515 1580 1649 1807 2052 265 3082 6 903 bus filesystems locks self vmallocinfo

  1005 1362 1487 1523 1584 1655 1815 2095 27 3084 7 904 cgroups fs mdstat slabinfo vmstat

  1006 1370 1492 1526 1585 1656 1816 21 2744 3085 754 914 cmdline interrupts meminfo softirqs zoneinfo

  1007 1390 1493 1527 1589 1666 1817 216 2796 318 806 915 consoles iomem misc stat

  1013 14 1496 1539 16 1671 1828 217 28 323 837 933 cpuinfo ioports modules swaps

  1030 1409 15 1542 1616 1673 183 23 2856 37 838 942 crypto irq mounts sys

  1073 1418 1501 1544 1617 1676 188 2391 2881 40 844 977 devices kallsyms mtd sysrq-trigger

  1079 1448 1503 1548 1619 17 19 24 29 41 847 982 device-tree kcore mtrr sysvipc

  1084 1453 1506 1555 1622 1711 190 2448 2998 453 848 991 diskstats key-users net timer_list

  11 1456 1508 1562 1623 1712 1957 25 3 455 882 992 dma kmsg pagetypeinfo timer_stats

  1168 1457 1509 1563 1625 1776 1992 2538 3017 528 885 994 dri kpagecount partitions tty

  1175 1459 1510 1566 1627 1790 1997 2548 3070 531 899 acpi driver kpageflags sched_debug uptime

  12 1464 1511 1569 1633 18 2 26 3080 540 9 asound execdomains latency_stats schedstat version

  david@david-nb:~$

  其中,version文件中存储的是内核的版本、操作系统的名称等信息,与uname -a的内容基本相同。

  [plain] view plain copy print?

  david@david-nb:~$ cat /proc/version

  Linux version 3.0.0-32-generic (buildd@aatxe) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #51-Ubuntu SMP Thu Mar 21 15:51:26 UTC 2013

  david@david-nb:~$

  内核版本为3.0.0-32-generic

  补充:Linux操作系统查看系统版本的方法

  查看linux的版本主要有三种方法:

  1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:

  [root@3.5.5Biz-46 ~]# lsb_release -a

  LSB Version: 1.3

  Distributor ID: RedHatEnterpriseAS

  Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 1)

  Release: 4

  Codename: NahantUpdate1

  [root@3.5.5Biz-46 ~]#

  这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

  2) 登录到linux执行cat /etc/redhat-release ,例如如下:

  [root@3.5.5Biz-46 ~]# cat /etc/redhat-release

  Red Hat Enterprise Linux AS release 4 (Nahant Update 1)

  [root@3.5.5Biz-46 ~]#

  这种方式下可以直接看到具体的版本号,比如 AS4 Update 1

  3)登录到linux执行rpm -q redhat-release ,例如如下

  [root@3.5.5Biz-46 ~]# rpm -q redhat-release

  redhat-release-4AS-2.4

  [root@3.5.5Biz-46 ~]#

  这种方式下可看到一个所谓的release号,比如上边的例子是2.4

  这个release号和实际的版本之间存在一定的对应关系,如下:

  redhat-release-3AS-1 -> Redhat Enterprise Linux AS 3

  redhat-release-3AS-7.4 -> Redhat Enterprise Linux AS 3 Update 4

  redhat-release-4AS-2 -> Redhat Enterprise Linux AS 4

  redhat-release-4AS-2.4 -> Redhat Enterprise Linux AS 4 Update 1

  redhat-release-4AS-3 -> Redhat Enterprise Linux AS 4 Update 2

  redhat-release-4AS-4.1 -> Redhat Enterprise Linux AS 4 Update 3

  redhat-release-4AS-5.5 -> Redhat Enterprise Linux AS 4 Update 4

  注意:第(2)(3)两种方法只对Redhat Linux有效

    3643515