提取操作系统的基本信息(内核、系统版本、网络地址等)

功能一:能够提取操作系统的基本信息(内核、系统版本、网络地址等)

#############################################################################

#File Name:System_monitor.sh

#Author:Ivan

#############################################################################

#!/bin/bash

#把之前屏幕上的内容清除掉

clear

if [[ $# -eq 0 ]]

then

echo -e ‘\E[33m‘"###########系统分析##########"

#定义一个高亮输出的变量

output=$(tput sgr0)

#检查系统类型 使用uname -o 命令

os=$(uname -o)

echo -e ‘\E[32m‘"系统类型:"$output $os

#获取操作系统版本类型

os_name=$(cat /etc/issue |grep -ie "Server")

echo -e ‘\E[33m‘"系统版本:"$output $os_name

#获取CPU的指令集

os_bit=$(uname -m)

echo -e ‘\E[34m‘"系统位数:"$output $os_bit

#获取内核版本

os_kernel=$(uname -r)

echo -e ‘\E[35m‘"内核版本:"$output $os_kernel

#获取主机名 $HOSTNAME 以及 uname -n 也可以实现

hostname=$(hostname)

#获取内网ip

inner=$(hostname -I)

echo -e ‘\E[36m‘"内网ip:"$output $inner

#获取外网ip 我们就简单使用请求这个http地址后返回的信息

outer=$(curl -s http://ipecho.net/plain)

echo -e ‘\E[29m‘"外网ip:"$output $outer

#获取DNS 从/etc/resolv.conf文件提取匹配

nameservers=$(cat /etc/resolv.conf |grep -E "\<nameserver[ ]"+|awk ‘{print $NF}‘)

echo -e ‘\E[31m‘"系统DNS:"$output $nameservers

#判断网络连通性 直接使用ping命令测试

ping -c 2 www.toutiao.com &>/dev/null && echo "网络连通:yes" || echo "网络连通:no"

#检查当前登录的用户 使用who命令输出到一个临时文件中

who >/tmp/who

echo -e ‘\E[32m‘"当前登录用户:"$output && cat /tmp/who

#记得把临时文件给删掉

rm -rf /tmp/who

echo "#############################"

#功能二:能够分析系统的运行状态(CPU负载、内存以及磁盘的使用率等)

#使用free -m 可以查看内存的使用情况

#我们要取的是系统使用内存和应用使用内存

#系统使用内存=total-free 而 应用使用内存=total-(free+buffers+cached)

#在/proc/meminfo文件就是内存情况的目录

#获取系统已经使用的内存通过awk命令文本进行提取然后计算出结果换算成Mb

system_men=$(awk ‘/MemTotal/{total=$2}/MemFree/{free=$2}END{print (total-free)/1024}‘ /proc/meminfo)

#获取应用使用内存通过awk命令文本进行提取然后计算出结果换算成Mb

app_men=$(awk ‘/MemTotal/{total=$2}/MemFree/{free=$2}/^Cached/{cached=$2}/Buffers/{buffers=$2}END{print (total-free-cached-buffers)/1024}‘ /proc/meminfo)

#打印出结果

echo -e ‘\E[36m‘"系统使用内存:"$output $system_men"M"

echo -e ‘\E[36m‘"应用程序使用内存:"$output $app_men"M"

#接下来就是操作下系统CPU负载这一块了,我们可以用top命令进行查看

#top -n 1 -b|grep "load average:"

#再使用awk进行空格划分提取我们想要的load average

#top -n 1 -b|grep "load average:"|awk ‘{print $12 $13 $14}‘

load_average=$(top -n 1 -b|grep "load average:"|awk ‘{print $12 $13 $14}‘)

echo -e ‘\E[33m‘"负载情况:"$output $load_average

#最后就是磁盘分析了,老规矩,首先我们使用df -h 命令看看

#在我们就来将它格式化输出一下

#df -hP|grep -vE ‘Filesystem|tmpfs‘|awk ‘{print $1 " Size:"$2 " used:"$3 " use%:"$5}‘

disk=$(df -hP|grep -vE ‘Filesystem|tmpfs‘|awk ‘{print $1 " 总量:"$2 " 已使用:"$3 " 使用率:"$5}‘)

echo -e ‘\E[34m‘"磁盘情况:"$output $disk

else

echo "请不要传递参数!"

fi

注意:标红色字体的,可以不加入到脚本中

运行后的效果:

###########系统分析##########

系统类型: GNU/Linux

系统版本: CentOS release 6.6 (Final)

系统位数: x86_64

内核版本: 2.6.32-504.el6.x86_64

内网ip: 172.16.1.237

外网ip: x.x.x.x

系统DNS: 8.8.8.8 211.136.192.6

网络连通:yes

当前登录用户:

root     pts/1        2017-01-12 20:14 (x.x.x.x)

#############################

系统使用内存: 3387.73M

应用程序使用内存: 1084.01M

负载情况: 0.00,0.00,0.00

磁盘情况: /dev/mapper/vg_itcacti-LogVol00 总量:287G 已使用:3.9G 使用率:2% /dev/sda1 总量:477M 已使用:32M 使用率:8%

时间: 2024-10-14 13:36:51

提取操作系统的基本信息(内核、系统版本、网络地址等)的相关文章

centos系统查看系统版本、内核版本、系统位数、cpu个数、核心数、线程数

centos查看系统版本 cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 1)查看centos内核的版本: [[email protected] ~]# cat /proc/version Linux version 2.6.18-194.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:5

Linux 查看系统版本信息,内核及CPU

首先,我们来谈论一下发行版与内核版本的区别 1.Linux 内核 只有一个正统来源,那就是linux 的开发团队. 2.内核只提供操作系统的基本功能和特性,如内存管理,进程调度,文件管理等等. 3.发行版的版本和内核版本是两回事,发行版由厂商更新,linux 内核由linux 的开发团队更新. 4.发行版除了发行版本必定还有一个内核版本,表示内置的是哪个版本Linux 内核.发行版是可以升级内核的,比如arch 就会不断提示你更新到最新内核 如何查看Linux 内核 1.uname -a 2.

查看Linux系统版本和内核信息

Linux 查看Linux系统版本信息 1. 查看内核版本 1) 方法一:登录到linux执行cat /proc/version [[email protected]_32bit_ip12 ~]$ cat /proc/version  Linux version 2.6.18-194.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:35 EDT 2010 

Ubuntu 中查看内核版本和系统版本的三个命令

一.查看内核版本:cat /proc/version 二.查看内核版本:uname -a 三.查看系统版本:lsb_release -a

CentOS查看内核版本、系统版本、系统位数

CentOS查看内核版本.系统版本.系统位数 查看Linux内核版本 [[email protected] ~]# cat /proc/version    Linux version 2.6.32-358.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Fri Feb 22 00:31:26 UTC 2013     [[email protected] ~]

查看Linux Centos 系统信息 内核 CPU 系统版本 磁盘 分区 网络配置 进程 命令

linux系统信息 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 # arch 显示机器的处理器架构(1) # uname -m 显示机器的处理器架构(2

CentOS(RHEL)内核版本与系统版本对应关系

通过本文你可以获取如下信息: CentOS/RHEL 内核源码包下载地址. CentOS/RHEL 内核版本和系统版本对应关系. CentOS/RHEL 各个系统版本发布时间. CenOS 各个版本源码包及RPM包下载地址. 以下信息全部来自官方:http://vault.centos.org/ Name Last modified Size Description 对应内核源码包 5.0/ 11-Apr-2007 18:53 - kernel-2.6.18-8.el5.src.rpm 5.1/

CentOS系统版本和内核版本查看

怎样在CentOS中查看系统版本和内核版本呢?下面就以CentOS 6.3为例给大家说明一下: 登录Centos操作系统,打开终端 查看操作系统版本 cat /etc/redhat-release 或者cat /etc/centos-release也可以查看: 查看系统内核版本号 uname -r

Linux 内核、系统 版本信息 获取

1.查看内核 ## 通过读取 /proc/version 文件,获取内核版本信息 # cat /proc/version ## 直接通过 uname命令 获取内核信息 # uname -r   2.查看系统版本 ## lsb_release 命令查看 ## lsb_release -a 查看系统所有信息 ## lsb_release -sc 只查看系统版本发行号 # lsb_release -a # lsb_release -sc ## 读取 /etc/issue 文件,获取系统版本信息,适用于