问题:

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. HDU 5724 Chess (sg函数)

    Chess 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5724 Description Alice and Bob are playing a s ...

  2. 通过源码学Java基础:BufferedReader和BufferedWriter

    准备写一系列Java基础文章,先拿Java.io下手,今天聊一聊BufferedReader和BufferedWriter BufferedReader BufferedReader继承Writer, ...

  3. [iOS UI进阶 - 3.0] 触摸事件的基本处理

    A.需要掌握和练习的 1.介绍事件类型2.通过按钮的事件处理引出view的事件处理3.响应者对象 --> UIResponder --> UIView4.view的拖拽* 实现触摸方法,打 ...

  4. MemCacheManager

    #region Fields private AreaRepository _areaRepository = new AreaRepository(); private ICacheManager ...

  5. VS2012与NUnit

    微软提供的NUnit插件是针对vs2010的,而vs2012会自动识别,测试环境为64位win7,具体操作步骤如下 1.下载安装NUnit(NUnit-2.6.3.msi) 2.新建测试项目UnitT ...

  6. JS 之如何在插入元素时插在原有元素的前面而不是末尾

    语法: 父级.insertBefore(新元素,被插入的元素):          //在指定的元素前面加入一个新元素 父级.insertBefore(新元素,父级.children[0]); //在 ...

  7. VIM复制粘贴大全!

    原文地址:http://lsong17.spaces.live.com/blog/cns!556C21919D77FB59!603.entry 内容: 用vim这么久 了,始终也不知道怎么在vim中使 ...

  8. Android BLE开发之Android手机搜索iBeacon基站

    本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次讲了Android手机与BLE终端之间的通信,而最常见的BLE终端应该是苹果公司倡导的iBeacon基站. ...

  9. C#小常识集锦(一)--《更锋利的CSharp代码》读书笔记

    ❀.采用类似匈牙利命名法为控件命令,对于其他变量申明则不需要了 e.g. Button btnAdd; e.g. TextBox txtUsername; e.g. ListBox lstFileNa ...

  10. 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念

     1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...