一、脚本目的
为了方便,当拿到一台linux服务器的时候,我们应首先了解服务器的硬件、操作系统信息。俗话说“工欲善其事必先利其器” 只有熟悉了自己的武器,才能更好的发挥武器的威力。所以写了一个shell脚本,方便快速获取服务器CPU、内存、硬盘、操作系统等信息,就不用特麻烦的翻找各个文件了。
二、shell脚本源代码
#2023-05-08 适用centos7以上版本
#!/bin/bash
base(){
HOST_NAME="【脚本运行所在服务器名称:】`hostname`"
echo $HOST_NAME
echo "---【操作系统信息】---"
echo "`cat /etc/os-release`"
}
cpu(){
echo "---【本机CPU信息】---"
#cpu型号:
CPU_MODEL=`cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c|sed 's/^[ ]*//g'`
#物理CPU个数
CPU_NUM=`cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l`
#每个物理CPU的核数
CPU_CORE=`cat /proc/cpuinfo| grep "cpu cores"| uniq |awk -F':' '{print $2}'`
#查看逻辑CPU的个数即线程数
CPU_PROS=`cat /proc/cpuinfo| grep "processor"| wc -l`
echo "CPU型号:$CPU_MODEL"
echo -e `tput bold`"CPU物理数\tCPU核数\t逻辑数"
echo -e "$CPU_NUM\t\t$CPU_CORE\t\t$CPU_PROS"
}
mem(){
echo "---【本机内存信】---"
echo -e `tput bold`"Title(Mem)\tTotal(M)\tUsed(M)\t\tFree(M) "
tput sgr0
free -m |awk '/^Mem:/{printf "%-10s\t %-10s\t%-10s\t%-10s\n", $1,$2,$3,$4}'
free -m |awk '/Swap:/{printf "%-10s\t %-10s\t%-10s\t%-10s\n", $1,$2,$3,$4}'
}
disk(){
echo "---【本机硬盘信】---"
echo -e `tput bold`"硬盘名称\t\t大小\t\t类型\t\t挂载位置"
tput sgr0
lsblk |awk -F' ' '{printf "%-18s\t %-10s\t %-10s\t%s\n", $1,$4,$6,$7}'
}
base
cpu
mem
disk
三、如何执行脚本
- 上传脚本到linux服务器
- 修改脚本文件权限为可执行, chmod 755 shell脚本名.sh
- 执行脚本,./shell脚本名.sh
注:20230508文档转到CSDN