问题:

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. 图文讲解:iOS App提交流程

    原文:http://www.toceansoft.com/ios/3287.jhtml 一.证书的导出 1.1.前期工作 首先你需要有一个苹果的开发者帐号,一个Mac系统. 如果没有帐号可以在打开ht ...

  2. Lua学习笔记(五):面向对象的实现

    Lua本身是没有class之类的关键字的,但是我们可以巧妙利用function也是值和table的特性来实现面向对象的特性. 通过复制表的实现 Lua中的类也是一个table对象,下面我们看看一个简单 ...

  3. OpenStack API 与 CloudStack API 模块比较

    OpenStack API Block Storage Service API Compute API Compute API extensions Identity Service API and ...

  4. iOS开发-轻点、触摸和手势

    一.响应者链 以UIResponder作为超类的任何类都是响应者.UIView和UIControl是UIReponder的子类,因此所有视图和所有控件都是响应者. 初始相应器事件首先会传递给UIApp ...

  5. 《JavaScript高级程序设计》 读书笔记(三)

    操作符 递增和递减操作符 var num1 = 2; var num2 = 20; var num3 = --num1 + num2; // 等于 21 var num4 = num1 + num2; ...

  6. nginx 的安装

    一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # yum install pcre* //如过你已经装了,请跳过这一步 2.安装openssl ...

  7. MPAndroidChart

    该库的可扩展性强,代码相对规范,最近一次更新有很大改进,如果不喜欢AChartEngine的过于复杂可以考虑在此库的基础上开发自己的图表类. linechart 填充式lineChart 单条线的Li ...

  8. Android常用正则工具类

    此类提供日常开发中常用的正则验证函数,比如:邮箱.手机号.电话号码.身份证号码.日期.数字.小数.URL.IP地址等.使用Pattern对象的matches方法进行整个字符匹配,调用该方法相当于:   ...

  9. 用Spring3编写第一个HelloWorld项目

    第一个HelloWorld程序 让我们用Spring来写第一个应用程序吧. 完成这一章要求: 熟悉Java语言 设置好Spring的环境 熟悉简单的Eclipse IDE的操作 如果你还没有设置好环境 ...

  10. Spring aop实现方式记录

    原文地址:http://blog.csdn.net/moreevan/article/details/11977115 Spring提供了两种方式来生成代理对象: JDKProxy和Cglib,具体使 ...