查看linux系统信息(脚本)

5 篇文章 0 订阅
[root@Rocky ~]# vim systeminfo.sh
#!/bin/bash
#
#**************************************************
#Author:        sunxiaoshen
#Version:       3.0
#QQ:            2964238553
#Date:          2023-08-10
#FileName:      systeminfo.sh
#URL:           http://www.xiaoshen.com
#Description:   The test script
#Copyright (C):    2023 All rights reserved
#**************************************************

function system_info
{
    COLOR="\E[1;$[RANDOM%7+31]m"
    END="\E[0m"
    DECOR="echo -e \E[1;$[RANDOM%7+31]m"
    CECOR="\E[0m"

    NAME=`hostname`
    LO=`ip addr show lo | sed -nr 's/.*inet ([0-9.]+).*/\1/p'` 
    # 此操作也可以使用"hostname -i"命令获取
    IPV4=`ip addr | sed -nr 's/.*inet ([0-9.]+[0-9]+).*/\1/p' | tail -n +2 | paste -s -d';'`  
    # 此操作也可以使用"hostname -I"命令获取
    MEMORY=`lsmem | sed -nr '/Total online memory/s/.* ([0-9]?)/\1/p'`
    # 此操作也可以使用"cat /proc/meminfo"或"free -h | sed -nr '/^Mem/p' | tr -s ' ' ' ' | cut -d ' ' -f2"命令获取
    STORAGE="`lsblk -e 7,11 -d -o name,size | tail -n +2 | sed -nr 's/.* ([0-9]+).*/\1/p' | paste -s -d '+' | bc`G"
    DISK=`lsblk -e 7,11 -d -o name,size | tail -n +2 | tr -s ' ' ':' | paste -s -d ' '`
    # STORAGE为设备总容量,DISK为每个磁盘容量
    SYSTEM=`cat /etc/os-release | grep "^NAME" | cut -d "\"" -f2`
    # 此操作也可以使用"hostnamectl | sed -nr '/Operating System/ s/.*: ([A-Za-z]+) .*/\1/p'"命令获取
    VERSION=`sed -nr '/^PRETTY_NAME/p' /etc/os-release | cut -d "\"" -f2` 
    # 此操作也可以使用"hostnamectl | sed -nr 's/.*Operating System: (.*)/\1/p'"获取
    CPU=`lscpu | sed -nr 's/(^Model name: ) *(.*)/\2/p'` 
    # 此操作也可以使用"cat /proc/cpuinfo和dmidecode -t processor"获取
    KERNEL=`hostnamectl | sed -nr 's/.*Kernel: (.*)/\1/p'` 
    # 此操作也可以使用"uname -r或者cat /proc/version"命令获取
    ARCHITECTURE=`uname -m`
    # 此操作也可以使用"uname -i;arch;lscpu;cat /proc/cpuinfo命令获取"

    function systeminfo_all
    {
        echo
        $DECOR----------------------Host systeminfo----------------------$CECOR
        echo -e "Hostname:     $COLOR$NAME$END"
        echo -e "Loopback:     $COLOR$LO$END"
        echo -e "Ipv4:         $COLOR$IPV4$END"
        echo -e "Memory:       $COLOR$MEMORY$END"
        echo -e "STORAGE:      $COLOR$STORAGE$END"
        echo -e "Disk:         $COLOR$DISK$END"
        echo -e "Cpu:          $COLOR$CPU$END"
        echo -e "Architecture: $COLOR$ARCHITECTURE$END"
        echo -e "System:       $COLOR$SYSTEM$END"
        echo -e "Version:      $COLOR$VERSION$END"
        echo -e "Kernel:       $COLOR$KERNEL$END"
        $DECOR-----------------------------------------------------------$CECOR
        echo
    }

    while true; do
        PS3="请输入数字选择要查看的信息:"
        select MENU in 主机名 本机回环地址 IPV4地址 内存容量 存储容量 磁盘容量 CPU型号 CPU架构 系统名称 系统版本 内核版本 以上全部 退出;do
            case $REPLY in
            1)
                echo "$NAME"
                ;;
            2)
                echo "$LO"
                ;;
            3)
                echo "$IPV4"
                ;;
            4)
                echo "$MEMORY"
                ;;
            5)
                echo "$STORAGE"
                ;;
            6)
                echo "$DISK"
                ;;
            7)
                echo "$CPU"
                ;;
            8)
                echo "$ARCHITECTURE"
                ;;
            9)
                echo "$SYSTEM"
                ;;
            10)
                echo "$VERSION"
                ;;
            11)
                echo "$KERNEL"
                ;;
            12)
                systeminfo_all
                exit
                ;;
            13)
                exit
                ;;
            *)
                echo
                $DECOR-----------------------Error Select------------------------$CECOR
                echo "输入错误, 请根据内容提示重新选择......"
                $DECOR-----------------------------------------------------------$CECOR
                break
            esac
        done
        continue
    done
}

system_info
[root@Rocky ~]# chmod +x systeminfo.sh
[root@Rocky ~]# ./systeminfo.sh 
1) 主机名	     4) 内存	      7) 系统版本
2) 本机回环地址	 5) 磁盘容量	  8) 内核版本
3) IPV4地址	     6) CPU型号	  9) 以上全部
请输入数字选择要查看的信息:a

-----------------------Error Select------------------------
输入错误, 请根据内容提示重新选择......
-----------------------------------------------------------
1) 主机名	     4) 内存	      7) 系统版本
2) 本机回环地址	 5) 磁盘容量	  8) 内核版本
3) IPV4地址	     6) CPU型号	  9) 以上全部
请输入数字选择要查看的信息: 5  
sda:20GiB  sdb:20GiB  nvme0n1:200GiB  nvme0n2:20GiB  nvme0n3:20GiB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值