Linux - 获取系统版本信息

简介: Linux - 获取系统版本信息

背景


写 shell 脚本的时候想根据系统版本来做条件判断,所以这篇就是这里搬那里搬,当做记录了

 

cat /proc/version


获取内核信息

[root@poloyy ~]# cat /proc/version

Linux version 4.18.0-240.22.1.el8_3.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.120191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Thu Apr 819:01:30 UTC 2021

 

uname -a


获取内核信息

[root@poloyy ~]# uname -a

Linux poloyy 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 819:01:30 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

 

lsb_release -a


  • 获取系统信息
  • 有些系统会没有 lsb_release 命令
[root@poloyy ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID:    CentOS
Description:    CentOS Linux release 8.3.2011
Release:    8.3.2011
Codename:    n/a


cat /etc/os-release


获取系统信息

[root@poloyy ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"


cat /etc/redhat-release


仅适用于 Redhat 系的 Linux

[root@poloyy ~]# cat /etc/redhat-release

CentOS Linux release 8.3.2011

 

hostnamectl


获取系统信息

[root@poloyy ~]# hostnamectl
Static hostname: poloyy
Icon name: computer-vm
Chassis: vm
Machine ID: 20200519114807021642997698320941
Boot ID: da0aa5943375449c8bdb8bdd63e162f3
Virtualization: kvm
Operating System: CentOS Linux 8
CPE OS Name: cpe:/o:centos:centos:8
Kernel: Linux 4.18.0-240.22.1.el8_3.x86_64
Architecture: x86-64


准确获取系统版本号


方式一

sudocat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'

 

方式二

有些系统会没有 lsb_release 命令

lsb_release -a|grep -e Release|awk -F ":"'{ print $2 }' | awk -F "."'{print $1}' | sed's/[[:space:]]//g'

 

有空再对每个命令展开详解吧

相关文章
|
1天前
|
Unix Linux Windows
Linux 系统目录结构
这篇文章详细解释了Linux系统目录结构,重点介绍了/etc目录存放系统配置文件,/root为管理员主目录,/usr存放应用程序和共享资源,/var存放日志等变动文件,以及/home、/boot等目录的作用。
Linux 系统目录结构
|
6天前
|
运维 Ubuntu Linux
Linux系统之ncdu命令的基本使用
【8月更文挑战第8天】Linux系统之ncdu命令的基本使用
14 2
Linux系统之ncdu命令的基本使用
|
1天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
1天前
|
Ubuntu Java Linux
查看Linux系统中日志文件
查看Linux系统中日志文件
|
1天前
|
Linux
Linux源码阅读笔记17-资源分配及总线系统
Linux源码阅读笔记17-资源分配及总线系统
|
2天前
|
Linux Shell
Linux系统
是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
|
1天前
|
关系型数据库 MySQL Linux
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
这篇文章提供了在Linux系统中使用Docker安装Mysql 5.7版本的详细过程和图解,包括安装指定版本、创建实例、启动、使用Navicat连接测试、文件挂载与端口映射、进入容器、配置文件修改以及重新启动容器等步骤。
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
|
5天前
|
Linux
关于linux的qt发布(linuxdeployqt)中opengl版本过高的解决
关于linux的qt发布(linuxdeployqt)中opengl版本过高的解决
|
5天前
|
存储 NoSQL Java
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
该博客文章展示了如何在Linux虚拟机上使用Redis和Jedis客户端实现手机验证码的验证功能,包括验证码的生成、存储、验证以及限制每天发送次数的逻辑,并提供了测试结果截图。
使用redis进行手机验证码的验证、每天只能发送三次验证码 (redis安装在虚拟机linux系统中)
|
5天前
|
Linux
虚拟机安装Linux系统的网络配置
该博客文章提供了解决虚拟机中Linux系统网络问题的多种方法,包括重置网络服务、修改网络配置文件、使用不同网络模式等,以确保虚拟机能够成功连接到网络。
虚拟机安装Linux系统的网络配置