文章目录
一、背景
日常运维工作中经常需要在Linux操作系统上执行相关shell命令获取操作系统的相关信息,例如:主机名、系统内核版本、发行版本、IP地址、CPU型号、CPU数量、内存、硬盘等信息。
本文以redhat系统为例,介绍一下获取操作系统信息的相关shell命令,并将这些shell命令组织成一个GetSystemInfo的shell脚本,直接执行即可获取所有操作系统相关信息。
二、获取操作系统信息相关shell命令介绍
2.1 获取主机名
hostname
hostname命令用户设置或者显示当前操作系统的主机名,不加任何参数时就代表显示当前主机名
2.2 获取内核版本
uname -r
uname命令用于打印系统信息,-r参数用于指定仅打印内核版本
2.3 获取发行版本
cat /etc/redhat-release
etc目录下的redhat-release文件存储了操作系统的发行版本,使用cat命令可以显示此文件内容
2.4 获取IP地址信息
ifconfig -a | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | head -n1
ifconfig命令用于配置或者显示网络接口信息,-a选项用于指定显示所有的网络接口信息,管道符|用于进程间通信,实现命令的连接执行。注:部分版本的操作系统中会提示ifconfig命令已经过时,建议使用ip addr或ip link命令,方法原理类似。
grep命令用于查找符合条件的字符串,其中-o表示only-matching,即仅匹配的含义,-E参数用于指定按后续的正则表达式规则匹配。
的head命令用于指定显示结果中的前几行,参数-1指定仅显示第一行。
2.5 获取CPU型号
lscpu | grep 'Model name' | tr -s &#