Linux下判断当前系统发行版本的方法总结

测试过的Ubuntu版本为Ubuntu Server 14.04, CentOS版本为CentOS 7.3。
1、根据/etc/os-release文件,这个文件ubuntu和centOS下都有,以如下方式取出其中NAME字段的值即可判断系统版本
awk -F= '/^NAME/{print $2}' /etc/os-release
Ubuntu系统输出如下:
"Ubuntu"
CentOS系统输出如下:
"CentOS Linux"
2、使用lsb_release命令,这个命令并不一定所有发行版都默认有安装,例如在我自己的ubuntu server 14.04默认就有这个工具,而CentOS 7.3下面就没有,所以,如果有的话可以用如下命令进行判断:
lsb_release -d
Ubuntu系统输出如下:
Description:    Ubuntu 14.04.5 LTS
CentOS系统下该命令不存在,是否可以据此判断为Redhat系呢?网上看到有在CentOS上使用这个命令的例子,不能以此判断。
3、通过特征文件判断:
  • Redhat或CentOS存在/etc/redhat-release文件
  • Debian或Ubuntu存在/etc/debian_version文件,Ubuntu还存在/etc/lsb-release文件
     读取文件内容还可进一步判断系统的具体发行版本。
4、通过查看/proc/version文件判断,
cat /proc/version
Ubuntu系统下输出如下:
Linux version 4.4.0-31-generic (buildd@lgw01-43) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016
CentOS系统下输出如下:
Linux version 3.10.0-693.21.1.el7.x86_64 ( builder@kbuilder.dev.centos.org ) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Wed Mar 7 19:03:37 UTC 2018
所以可以看到Ubuntu的版本信息比较清楚,CentOS里面只有builder后面有一个带centos的域名,后面括号里显示的是Red Hat,所以在区分CentOS和Redhat发行版时不够方便。

还有两种方法,我使用起来并没有那么方便,但网上有人可以用,所以也补充进来:
5、使用/etc/issue
cat /etc/issue
Ubuntu下输出:
Ubuntu 14.04.5 LTS \n \l
CentOS下输出:
\S
Kernel \r on an \m
所以可以看得出,Ubuntu下明确带有版本信息,而CentOS没有相关字段,这个并不适合所有场合。

6、使用uname -v
uname -v
Ubuntu下输出:
#50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016
CentOS下输出:
#1 SMP Wed Mar 7 19:03:37 UTC 2018
所以,看得出CentOS的输出信息也不够明确。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值