设为首页 收藏本站
查看: 324|回复: 0

[经验分享] linux下硬件信息统计小工具

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-22 08:07:29 | 显示全部楼层 |阅读模式
呵呵,没事的时候把之前作的硬件信息统计的一些命令写成了个小的脚本,还有很多问题需要解决,先放上来大家分享一下,看看有没有好的建议~
根据提示执行这个脚本,等待5秒之后,
首先,会弹出一个hardinfo.html的网页,页面上面有当前的硬件信息,可以通过打印该页面,将其粘贴在机器上面。
其次,在生成的目录下面有一个info.xls文件,该文件是将硬件信息保存成了表格的形式。


###############################   Hardware information Tool   #####################
#Version: 1.0                                                                        
#Auther:kll                                                            
#Mail:k_liang@126.com                                    
###########################################################                                                
#/bin/sh
echo -ne "\t注意:"
echo -e " 请以root权限来执行该脚本。"
echo -e "\t (Please use root to execute this shell)"
echo -ne "\t 请输入您当前的机器名称,不能包含空格符号。例如:Piaget1.0-PV-SKU3(Dis) " :
read dirname
if [ -e $dirname ] ; then
rm $dirname -rf
fi
cd .
mkdir $dirname
cat /etc/sysconfig/hwconf >$dirname/hwconf.txt
cat /proc/cpuinfo >$dirname/cpuinfo.txt
dmidecode -t memory >$dirname/meminfo.txt
dmidecode -s bios-version >$dirname/bios.txt
dmidecode -s bios-release-date >$dirname/biosd.txt
lspci >$dirname/lspci.txt
lspci -n >$dirname/lspcin.txt
cd $dirname
touch hardinfo.html
echo >hardinfo.html
echo "<META http-equiv=Content-Type content='text/html; charset=utf-8>'" >>hardinfo.html
echo "<html>" >>hardinfo.html
echo "<body>" >>hardinfo.html
echo "<pre>" >>hardinfo.html

echo "<table align="center" border="1" cellpadding="5" cellspacing="0" width="900">" >>hardinfo.html

echo "<tr>" >> hardinfo.html
echo "<center>">> hardinfo.html
echo "<b>">>hardinfo.html
echo "机 型:$dirname">>hardinfo.html
echo "<b>">>hardinfo.html

echo "</tr>" >> hardinfo.html


echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "<b>">>hardinfo.html
echo "硬件类别">>hardinfo.html
echo "<b>">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "<b>">>hardinfo.html
echo "硬件信息">>hardinfo.html
echo "<b>">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "<b>">>hardinfo.html
echo "ID">>hardinfo.html
echo "<b>">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >>hardinfo.html

###############CPU information###########
echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "CPU信息">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `cat /proc/cpuinfo |grep -w 'model name'|awk -F: '{print $2}'|uniq`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html

############### Memory information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "内存">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `dmidecode -t memory |grep -5 "Memory Device"|grep -i "MB"|grep -i "size"|awk '{print $2,$3}'` >>hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html

############### Host Bridge  information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "北桥">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `lspci |grep "00:00.0"|awk -F: '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `lspci -n|grep \`lspci |grep "00:00.0"|awk '{print $1}'\`|awk '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html

############### South Bridge  information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "南桥">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo " ">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo "">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html

############### Video Card information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "显卡">>hardinfo.html
echo "</td>" >>hardinfo.html
lspci |grep "VGA" >> /dev/null
if [ $? == 0 ]
then
echo "<td>" >>hardinfo.html
echo `lspci |grep "VGA"|awk -F: '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `lspci -n|grep \`lspci |grep "VGA"|awk '{print $1}'\`|awk '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
else
echo "<td>" >>hardinfo.html
echo "There is no Video card">>hardinfo.html
echo "</td>" >>hardinfo.html
fi
echo "</tr>" >> hardinfo.html

############### Audio Card information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "声卡">>hardinfo.html
echo "</td>" >>hardinfo.html
lspci |grep "Audio" >> /dev/null
#lspci -n|grep "0403">>/dev/null

if [ $? == 0 ]
then
echo "<td>" >>hardinfo.html
echo `lspci |grep "Audio"|awk -F: '{print $3}'`>>hardinfo.html
#    echo `lspci |grep \`lspci -n |awk 'match($2,"0403"){print $1,$3}'|awk '{print $1}'\`|awk -F: '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `lspci -n|grep "\`lspci |grep "Audio"|awk '{print $1}'\`"|awk '{print $3}'`>>hardinfo.html
#    echo `lspci -n |awk 'match($2,"0403"){print $1,$3}'|awk '{print $2}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
else
echo "<td>" >>hardinfo.html
echo "There is no Audio card">>hardinfo.html
echo "</td>" >>hardinfo.html
fi
echo "</tr>" >> hardinfo.html

############### NIC Card information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "网卡">>hardinfo.html
echo "</td>" >>hardinfo.html
lspci |grep "Ethernet" >> /dev/null
if [ $? == 0 ]
then
echo "<td>" >>hardinfo.html
echo `lspci |grep "Ethernet"|awk -F: '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `lspci -n|grep \`lspci |grep "Ethernet"|awk '{print $1}'\`|awk '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html
else
echo "<td>" >>hardinfo.html
echo "There is no NIC card">>hardinfo.html
echo "</td>" >>hardinfo.html
fi
echo "</tr>" >> hardinfo.html
############### HDD information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "硬盘">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo -n  `hdparm -I /dev/sda |grep "Model Number"|awk -F: '{printf $2}'`>>hardinfo.html
echo `hdparm -I /dev/sda |grep "size"|grep GB|awk '{print $9,$10}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html

############### ODD information###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "光驱">>hardinfo.html
echo "</td>" >>hardinfo.html
hdparm -I /dev/cdrom |grep "Model Number">> /dev/null
if [ $? == 0 ]
then
echo "<td>" >>hardinfo.html
echo -n `hdparm -I /dev/cdrom |grep "Model Number"`|awk -F: '{print $2}'>>hardinfo.html
echo "</td>" >>hardinfo.html
else
echo "<td>" >>hardinfo.html
echo "There is no CD-ROM">>hardinfo.html
echo "</td>" >>hardinfo.html
fi
echo "</tr>" >> hardinfo.html


############### Wireless card  information##############

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "无线网卡">>hardinfo.html
echo "</td>" >>hardinfo.html
lspci |grep "Network" >> /dev/null
if [ $? == 0 ]
then
echo "<td>" >>hardinfo.html
echo `lspci |grep "Network"|awk -F: '{print $3}'` >> hardinfo.html
echo "</td>" >>hardinfo.html

echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo `lspci -n|grep \`lspci |grep "Network"|awk '{print $1}'\`|awk '{print $3}'`>>hardinfo.html
echo "</td>" >>hardinfo.html
else
echo "<td>" >>hardinfo.html
echo "There is no wireless card">>hardinfo.html
echo "</td>" >>hardinfo.html
fi
echo "</tr>" >> hardinfo.html


############### BIOS information ###########

echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "BIOS信息">>hardinfo.html
echo "</td>" >>hardinfo.html
echo "<td>" >>hardinfo.html
echo -e "`dmidecode -s bios-version`\t" "`dmidecode -s bios-release-date`">> hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html

############### Modem information #####################
echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "Modem ">>hardinfo.html
echo "</td>" >>hardinfo.html
grep -l "Modem Function Group:" /proc/asound/card*/codec#* >> /dev/null
if [ $? == 0 ]
then
echo "<td>" >>hardinfo.html
echo `cat \`grep -l "Modem Function Group:" /proc/asound/card*/codec#* \`|grep "Vendor Id:"` >>hardinfo.html   
echo "</td>" >>hardinfo.html
else
echo "<td>" >>hardinfo.html
echo "There is no Modem">>hardinfo.html
echo "</td>" >>hardinfo.html
fi
echo "</tr>" >> hardinfo.html


############### Blue information #####################
echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "Bluetooth">>hardinfo.html
echo "</td>" >>hardinfo.html
hciconfig |grep "Address" >>/dev/null
if [ $? == 0 ]
then
echo "<td>" >>hardinfo.html
echo "Support" >>hardinfo.html   
echo "</td>" >>hardinfo.html
else
echo "<td>" >>hardinfo.html
echo "There is no Bluetooth">>hardinfo.html
echo "</td>" >>hardinfo.html
fi
echo "</tr>" >> hardinfo.html

###############Other devices information################
echo "<tr>" >> hardinfo.html
echo "<td align="center">" >>hardinfo.html
echo "其它硬件">>hardinfo.html
echo "</td>" >>hardinfo.html

echo "<td>" >>hardinfo.html
echo -e "Cellular: \t">>hardinfo.html
echo  "
">>hardinfo.html
echo -e "Camera: \t">>hardinfo.html
echo  "
">>hardinfo.html
echo -e "Cardreader: \t">> hardinfo.html
echo "</td>" >>hardinfo.html
echo "</tr>" >> hardinfo.html

echo "</table>" >>hardinfo.html
echo "<body>" >>hardinfo.html
echo "</html>">>hardinfo.html
######################  make info.xls file #################################

echo -ne "\tModel">>info.xls
echo -ne "\tCode">>info.xls
echo -ne "\t Bios">>info.xls
echo -ne "\t NorthBridge">>info.xls
echo -ne "\t CPU">>info.xls
echo -ne "\t Video">>info.xls
echo -ne "\t Audio">>info.xls
echo -ne "\t LAN">>info.xls
echo -ne "\t Wireless">>info.xls
echo -ne "\t Modem">>info.xls
echo -ne "\t BlueTooth">>info.xls
echo -ne "\t HDD">>info.xls
echo -ne "\t ODD">>info.xls
echo -ne "\t Memory">>info.xls
echo -ne "\tCellular">>info.xls
echo -ne "\tCard Reader">>info.xls
echo -ne "\tPCMCIA">>info.xls
echo -e "\t1394">>info.xls

echo -ne "\t$dirname">>info.xls
echo -ne "\t ">>info.xls
echo -ne "\t`dmidecode -s bios-version`" "`dmidecode -s bios-release-date`">>info.xls

echo -ne "\t`lspci |grep "00:00.0"|awk -F: '{print $3}'`" "  `lspci -n|grep \`lspci |grep "00:00.0"|awk '{print $1}'\`|awk '{print $3}'`">>info.xls

echo -ne "\t`cat /proc/cpuinfo |grep -w 'model name'|awk -F: '{print $2}'|uniq`">>info.xls

lspci |grep "VGA" >> /dev/null
if [ $? == 0 ]
then
echo -ne "\t`lspci |grep "VGA"|awk -F: '{print $3}'`" "   `lspci -n|grep \`lspci |grep "VGA"|awk '{print $1}'\`|awk '{print $3}'`">>info.xls
else
echo -ne "\tThere is no Video card">>info.xls
fi

lspci |grep "Audio" >> /dev/null
#if [ $? == 0 ]
#then
#    echo -ne "\t`lspci |grep "Audio"|awk -F: '{print $3}'`" "  `lspci -n|grep "\`lspci |grep "Audio"|awk '{print $1}'\`"|awk '{print $3}'`">>info.xls
#else
#   echo -ne "\tThere is no Audio card">>info.xls
#fi
if [ $? == 0 ]
then
lspci |grep "Audio"|awk -F: '{print $3}'>>info.txt
lspci -n|grep "`lspci |grep "Audio"|awk '{print $1}'`"|awk '{print $3}'>>info.txt
num=`wc info.txt|awk '{print $1}'`
N=1
if [ $num -gt $N ]
then
a=`echo  \`cat info.txt |sed -n 1p\` \`cat info.txt |sed -n 3p\``
b=`echo  \`cat info.txt |sed -n 2p\` \`cat info.txt |sed -n 4p\``
echo -ne "\t $a $b">>info.xls
else
echo -ne "`cat info.txt |sed -n 1p`" "`cat info.txt |sed -n 2p`">>info.xls
fi
else
echo "There is no Audio card">> info.xls
fi
#echo>info.txt

lspci |grep "Ethernet" >> /dev/null
if [ $? == 0 ]
then
echo -ne "\t`lspci |grep "Ethernet"|awk -F: '{print $3}'`" "  `lspci -n|grep \`lspci |grep "Ethernet"|awk '{print $1}'\`|awk '{print $3}'`">>info.xls
else
echo -ne "\tThere is no NIC card">>info.xls
fi

lspci |grep "Network" >> /dev/null
if [ $? == 0 ]
then
echo -ne "\t`lspci |grep "Network"|awk -F: '{print $3}'`" "  `lspci -n|grep \`lspci |grep "Network"|awk '{print $1}'\`|awk '{print $3}'`">>info.xls
else
echo -ne "\tThere is no wireless card">>info.xls
fi


grep -l "Modem Function Group:" /proc/asound/card*/codec#* >> /dev/null
if [ $? == 0 ]
then
echo -ne "\t`cat \`grep -l "Modem Function Group:" /proc/asound/card*/codec#* \`|grep "Vendor Id:"`" >>info.xls
else
echo -ne "\tThere is no Modem">>info.xls
fi

hciconfig |grep "Address" >>/dev/null
if [ $? == 0 ]
then
echo -ne "\tSupport" >>info.xls   
else
echo -ne "\tThere is no Bluetooth">>info.xls
fi

echo -ne "\t`hdparm -I /dev/sda |grep "Model Number"|awk -F: '{printf $2}'`" "`hdparm -I /dev/sda |grep "size"|grep GB|awk '{print $9,$10}'`">>info.xls

hdparm -I /dev/cdrom |grep "Model Number">> /dev/null
if [ $? == 0 ]
then
echo -ne "\t`hdparm -I /dev/cdrom |grep "Model Number"|awk -F: '{print $2}'`">>info.xls
else
echo -ne "\tThere is no CD-ROM">>info.xls
fi

#echo -e "\t `dmidecode -t memory |grep -5 "Memory Device"|grep -i "MB"|grep -i "size"|awk '{print $2,$3}'`" >>info.xls
dmidecode -t memory |grep -5 "Memory Device"|grep -i "MB"|grep -i "size"|awk '{print $2,$3}' >info.txt
num=`wc info.txt|awk '{print $1}'`
N=1
if [ $num -gt $N ]
then
echo -ne  "\t `cat info.txt |sed -n 1p`" "`cat info.txt |sed -n 2p`">>info.xls
else
echo -ne "\t `cat info.txt |sed -n 1p`">>info.xls
fi
rm -rf info.txt
##########################################################

echo -e "\t 恭喜你!已经成功的建立了硬件信息目录`pwd`,请查看相关的硬件信息"
echo -e "\t (Conguration!The hardware information has been send to the dir `pwd`,please get details from this dir) "
echo -e "\t 请稍候..."
sleep 5
firefox `pwd`/hardinfo.html &




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41227-1-1.html 上篇帖子: Linux命令笔记之dmidecode用法 下篇帖子: Linux压缩和归档 linux 统计 信息 硬件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表