文档章节

获取Linux系统版本信息

课课家
 课课家
发布于 2017/07/13 10:22
字数 696
阅读 3
收藏 0

有时候,我们可能需要获取Linux系统的版本信息,用于一些特殊的需求。

查看Linux内核版本

下面我们介绍一些方法来获取系统的版本,首先是通过查看Linux内核的方法,主要有2种方法:

cat@yafeile-pc:~/wheezy$ cat /proc/version 
Linux version 4.4.3-1-ARCH (builduser@tobias) (gcc version 5.3.0 (GCC) ) #1 SMP PREEMPT Fri Feb 26 15:09:29 CET 2016

我们通过对/proc目录下的version文件进行读取,获取到当前内核的版本信息。而proc目录是1个伪文件系统进程信息,它提供1个接口访问内核数据结构。它通常挂载在/proc,大多数为可读,但是一些文件允许修改内核变量。 
/proc/version的结果主要由/proc/sys/kernel/ostype,/proc/sys/kernel/osrelease/proc/sys/kernel/version这3个文件汇聚而成:

cat@yafeile-pc:~$ cat /proc/sys/kernel/ostype
Linux
cat@yafeile-pc:~$ cat /proc/sys/kernel/osrelease
4.4.3-1-ARCH
cat@yafeile-pc:~$ cat /proc/sys/kernel/version
#1 SMP PREEMPT Fri Feb 26 15:09:29 CET 2016

第2种获取内核版本的方式我们可能更为熟悉:

cat@yafeile-pc:~/wheezy$ uname -a
Linux yafeile-pc 4.4.3-1-ARCH #1 SMP PREEMPT Fri Feb 26 15:09:29 CET 2016 x86_64 GNU/Linux

我们通过uname命令输出系统的信息。

查看Linux系统版本

接下来是查看Linux系统版本的方式,主要有3种方法。首先,我们来看1种通用的方式,使用的是lsb_release命令:

cat@yafeile-pc:~/wheezy$ lsb_release -a
LSB Version:    1.4
Distributor ID:    Arch
Description:    Arch Linux
Release:    rolling
Codename:    n/a

其中lsb_release命令用于打印确定的LSB(Linux Standard Base)和版本信息。 
这个操作通过对/etc/lsb-release文件中获取LSB_VERSION字段,这个数值为LSB的数字。然后还有可选的DISTRIB_IDDISTRIB_RELEASEDISTRIB_CODENAMEDISRRIB_DESCRIPTION可以被用于重写信息。 
紧接着会查看/etc/[distrib]-release文件包含发行的版本等信息。我们可以使用如下的方式获取包含release的文件有哪些:

cat@yafeile-pc:~/wheezy$ ls /etc|grep release
arch-release
lsb-release
os-release

然后查看其内容:

cat@yafeile-pc:~/wheezy$ cat /etc/arch-release 
Arch Linux release
cat@yafeile-pc:~/wheezy$ cat /etc/lsb-release 
LSB_VERSION=1.4
DISTRIB_ID=Arch
DISTRIB_RELEASE=rolling
DISTRIB_DESCRIPTION="Arch Linux"

下1个通用的方法是查看issue文件:

cat@yafeile-pc:~/wheezy$ cat /etc/issue 
Arch Linux \r (\l)

可以看到,这个真的精简很多。 下面这种方法只能用于特定的发行版本:

cat@debian:~$ cat /etc/debian_version
7.10

我们通过获取/etc目录下的debian_version文件获取到debian的版本,当前为7.10。另外,os-release文件也包含关于系统的版本信息:

cat@debian:~$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="http://bugs.debian.org/"

可以看到,这个比上面的内容就详细了很多。

© 著作权归作者所有

课课家
粉丝 0
博文 38
码字总数 47186
作品 0
广州
私信 提问
【转】Linux内核源码详解——命令篇之iostat

iostat源码共563行,应该算是Linux系统命令代码比较少的了。源代码中主要涉及到如下几个Linux的内核文件: 1、/proc/diskstats——该文件是内核2.6以上的系统中的,记录了从Linux系统启动之后...

shangluyi
2018/06/26
0
0
如何轻松地检查 Ubuntu 版本以及其它系统信息

摘要:想知道你正在使用的 Ubuntu 具体是什么版本吗?这篇文档将告诉你如何检查你的 Ubuntu 版本、桌面环境以及其他相关的系统信息。 通常,你能非常容易的通过命令行或者图形界面获取你正在...

12%
2018/07/27
0
0
如何在 Linux 中查看系统硬件制造商、型号和序列号

对于 Linux 图形界面用户和 Windows 用户来说获取系统硬件信息都不算问题,但是对命令行用户来说想要获取这些细节时有点儿麻烦。 甚至我们中的大多数都不知道获取这些信息最好的命令是什么。...

09%
2018/08/19
0
0
SNMP系统信息获取工具onesixtyone

SNMP系统信息获取工具onesixtyone 通过SNMP服务,渗透测试人员可以获取大量的设备和系统信息。在这些信息中,系统信息最为关键,如操作系统版本、内核版本等。Kali Linux提供一个简易SNMP扫描...

大学霸
2017/10/26
25
0
linux下DB2过期几种解决方式

试用的DB2版本一般时间为90天,试用期过后数据库变无法正常打开,提示信息为数据库已过期,为了继续试用,有几种解决方式供大家参考: 1.简单直接的方法——修改linux系统日期,让DB2获取当前...

damomzhang
2013/04/05
2.1K
1

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
9
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
953
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部