问题:

1. 当使用一台linux机器的时候,常常需要确认当前所用操作系统的版本信息,内核信息等,

操作系统的版本信息可以通过以下命令完成,比如:lsb_release -a;cat /etc/issue

而查看内核版本可以通过以下命令完成,比如:uname -a;cat /proc/version,

这些命令比较难以记忆,本文试图解释一下这些命令名称的由来,以便于记忆。

解决办法:

1. 查看操作系统版本的命令

1.1 命令lsb_release -a

lsb_release提供特定的LSB (Linux Standard Base)和发布版本相关信息。

ubuntu中运行lsb_release -a的结果如下:

  1. david@david-nb:~$ lsb_release -a
  2. No LSB modules are available.
  3. Distributor ID: Ubuntu
  4. Description:    Ubuntu 11.10
  5. Release:    11.10
  6. Codename:   oneiric
  7. david@david-nb:~$

1.2 命令cat /etc/issue

/etc目录下放的是系统的配置文件。

/etc/issue文件通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定。

ubuntu中执行cat /etc/issue命令的结果如下:

  1. david@david-nb:~$ cat /etc/issue
  2. Ubuntu 11.10 \n \l
  3. david@david-nb:~$

2. 查看内核版本的命令

2.1 命令uname -a

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

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

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

结构体struct utsname的定义如下:

  1. struct utsname {
  2. char sysname[];    /* Operating system name (e.g., "Linux") */
  3. char nodename[];   /* Name within "some implementation-defined
  4. network" */
  5. char release[];    /* OS release (e.g., "2.6.28") */
  6. char version[];    /* OS version */
  7. char machine[];    /* Hardware identifier */
  8. #ifdef _GNU_SOURCE
  9. char domainname[]; /* NIS or YP domain name */
  10. #endif
  11. };

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

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

  1. david@david-nb:~$ uname -a
  2. Linux david-nb 3.0.0-32-generic #51-Ubuntu SMP Thu Mar 21 15:51:26 UTC 2013 i686 i686 i386 GNU/Linux
  3. david@david-nb:~$

内核版本为:3.0.0-32-generic

2.2 命令cat /proc/version

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

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

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

  1. david@david-nb:~$ ls /proc
  2. 1     1279  1480  1512  1576  1646  1803  20    264   3081  565  902     buddyinfo    fb             loadavg       scsi           version_signature
  3. 1001  13    1485  1515  1580  1649  1807  2052  265   3082  6    903     bus          filesystems    locks         self           vmallocinfo
  4. 1005  1362  1487  1523  1584  1655  1815  2095  27    3084  7    904     cgroups      fs             mdstat        slabinfo       vmstat
  5. 1006  1370  1492  1526  1585  1656  1816  21    2744  3085  754  914     cmdline      interrupts     meminfo       softirqs       zoneinfo
  6. 1007  1390  1493  1527  1589  1666  1817  216   2796  318   806  915     consoles     iomem          misc          stat
  7. 1013  14    1496  1539  16    1671  1828  217   28    323   837  933     cpuinfo      ioports        modules       swaps
  8. 1030  1409  15    1542  1616  1673  183   23    2856  37    838  942     crypto       irq            mounts        sys
  9. 1073  1418  1501  1544  1617  1676  188   2391  2881  40    844  977     devices      kallsyms       mtd           sysrq-trigger
  10. 1079  1448  1503  1548  1619  17    19    24    29    41    847  982     device-tree  kcore          mtrr          sysvipc
  11. 1084  1453  1506  1555  1622  1711  190   2448  2998  453   848  991     diskstats    key-users      net           timer_list
  12. 11    1456  1508  1562  1623  1712  1957  25    3     455   882  992     dma          kmsg           pagetypeinfo  timer_stats
  13. 1168  1457  1509  1563  1625  1776  1992  2538  3017  528   885  994     dri          kpagecount     partitions    tty
  14. 1175  1459  1510  1566  1627  1790  1997  2548  3070  531   899  acpi    driver       kpageflags     sched_debug   uptime
  15. 12    1464  1511  1569  1633  18    2     26    3080  540   9    asound  execdomains  latency_stats  schedstat     version
  16. david@david-nb:~$

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

  1. david@david-nb:~$ cat /proc/version
  2. 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
  3. david@david-nb:~$

内核版本为3.0.0-32-generic

linux信息查找的更多相关文章

  1. Linux文件查找.md

    Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...

  2. Linux如何查找大文件或目录总结

    在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件 ...

  3. Linux文件查找

    Linux下查找文件的命令有两个; locate: find : locate这个命令对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了查 找文件速度很快,但是locate ...

  4. linux下查找某个文件位置的方法

    一.通过文件名查找法: 举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录 下,甚至在系统的某个地方也不知道,则这是可以使用如下命令: find / -name httpd.conf ...

  5. linux下查找文件

    1,find 经常在linux下工作,总要查找一些文件,于是就搜索的学习了一下 find 指定目录 指定条件 指定动作 举例:find . -name "my*" 查找 当前目录下 ...

  6. linux中查找命令find、locate、whereis、which、type区别

    linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...

  7. Linux如何查找大文件或目录总结及在全部目录中查找

    在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件 ...

  8. linux下查找某个文件

    参考http://blog.csdn.net/gray13/article/details/6365654 一.通过文件名查找法: 举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录 ...

  9. Linux 文件查找

    在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 whereis wher ...

随机推荐

  1. javascript中数组的迭代等操作

  2. 《精通ASP.NET MVC5》第2章 第一个MVC应用程序

      控制器     public class NewHomeController : Controller     {         // GET: /NewHome/         public ...

  3. SQL NULL Values

    NULL代表缺失的.未知的数据.表的列值默认是NULL.如果某个表的某个列不是NOT NULL的,那么当我们插入新纪录.更新已存在的记录时,可以不用为此列赋值,这意味着那个列保存为NULL值. NUL ...

  4. xmlBean学习二

    由上一遍的准备工作完成后,可以很简单的就进行对xml文件的操作, package com; import java.io.File; import java.io.IOException; impor ...

  5. nodejs小问题:[1]express不是内部或外部命令

    nodejs小问题:[1]express不是内部或外部命令 浏览:9424 | 更新:2015-08-28 05:31 1 2 3 4 5 6 7 分步阅读 一时兴起想学习点东西,准备在heroku上 ...

  6. python中List操作

    传送门 官方文件地址 list.append(x): 将x加入列表尾部,等价于a[len(a):] = [x] 例: >>> list1=[1,2,3,4] >>> ...

  7. UVa572 Oil Deposits DFS求连通块

      技巧:遍历8个方向 ; dr <= ; dr++) ; dc <= ; dc++) || dc != ) dfs(r+dr, c+dc, id); 我的解法: #include< ...

  8. 在Mac OS X 10.9上安装nginx

    1. 安装PCRE Download latest PCRE. After download go to download directory from terminal. $ cd ~/Downlo ...

  9. stm32上的Lava虚拟机开发进度汇报(1)

    这几天我打算在stm32上做一个lava的虚拟机,只要160*80的黑白显示就行了,主要是想怀旧一下,嘿嘿. 目前的进度是图形显示和按键处理完成了,还有文本显示.文件处理.其他函数等. 当然,这都仅是 ...

  10. 【M26】限制某个class所能产生的对象数量

    1.每当产生一个对象,必定调用构造方法.因此,禁止产生对象的做法就是,将所有的构造方法声明为private. 2.只有在类的内部才可以访问private成员,有两层含义:在类的内部可以访问this的p ...