shell之获取系统信息

获取系统信息

比赛规则

  1. 仔细阅读题目描述,在实验环境中完成任务

  2. 完成任务后点击文档下方的提交结果按钮

  3. 系统自动评测并给出是否通过的信息
    获取系统信息
    简介

小楼是一个系统管理员,需要编写一个脚本 getinfo.sh 获取 Linux 服务器的 CPU、内存等信息。

脚本 getinfo.sh 脚本执行时候不需要任何参数,输出的内容包括以下信息:

$ bash getinfo.sh
cpu num: 2
memory total: 2.8G
memory free: 329M
disk size: 10G
system bit: 32
process: 32
software num: 944
ip: 192.168.1.9

注意上述每行内容的冒号后都有一个空格。

其中包括的数据项:

CPU数量(cpu num)
总内存(memory total),单位为 G
可用内存(memorty free),单位为 M
挂载到 / 根目录的文件系统的总大小(disk size),单位为 G
系统位数(system bit)
当前系统正在运行的进程数(process)
查看已安装的软件包数量(software num)
eth0的ip地址(ip)

目标

脚本存放的路径必须在 /home/shiyanlou/getinfo.sh
输出的信息一共有 8 行,需要按照上面给出的示例的顺序
脚本执行过程及输出信息需要满足上述需求

提示

awk
sed

知识点

Linux 系统监控命令
Linux 上文本处理命令
Linux 上软硬件信息获取
#!/bin/bash
#物理cpu个数
#cpu_num=`cat /proc/cpuinfo | grep 'physical id'|sort|uniq|wc -l`
#逻辑cpu数,正是题目所求
cpu_num=`cat /proc/cpuinfo|grep 'processor'|sort|uniq|wc -l`
echo "cpu num:$cpu_num"

memory_total=`free -h |grep 'Mem'|awk '{print $2}'`
memory_free=`free -m|grep 'Mem'|awk '{print $4}'`
echo  "memory total:${memory_total}"
echo  "memory free:${memory_free}M"

disk_size=`df -h / | awk '{print $2}'|grep -E '[0-9]'`
echo "disk size:$disk_size"

linux_bit=`uname -i`
if (($linux_bit=='x86_64'));then
    system_bit=64
else
    system_bit=32
fi
echo "system bit:$system_bit"

process=`ps aux|wc -l`
let process--#实际运行进程数
echo "process:$process"

#已安装软件包数量
software_num=`dpkg -l |wc -l`
#software_num=`yum list installed |wc -l`
echo "software num:$software_num"

#ip的获取
ip=`ifconfig| grep -A 1 'eth0'|grep 'inet'|awk -F ':' '{print $2}'|awk '{print $1}'`
echo "ip:$ip" 


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值