プロジェクト

全般

プロフィール

ハードウェア情報の取得あれこれ » hwinfo.sh

CPU、メモリ、HDD、光学ドライブ情報表示スクリプト - 高橋 徹, 2015/02/22 23:57

 
#!/bin/sh
# CentOS 6, summarize Hardware information
# - CPU
# - Memory
# - HDD

# /proc/cpuinfoから情報を抽出
function cpuinfo {
echo "====== CPU情報 ======"
echo -n "CPU種類:"
cat /proc/cpuinfo | grep "model name" | sed 's/ *$//' | uniq | cut -f2 -d:
echo -n "CPUコア数:"
cat /proc/cpuinfo | grep "cpu cores" | uniq | cut -f2 -d:
echo -n "CPUソケット数:"
expr `cat /proc/cpuinfo | grep "physical id" | sort | tail -1 | cut -f2 -d:` + 1
}

function memoryinfo {
echo "====== メモリ情報 ======"
echo -n "メモリ搭載量:"
cat /proc/meminfo | grep MemTotal | cut -f2 -d:
}

function hddinfo {
echo "====== ハードディスク情報 ======"
for f in `ls /dev/sd[a-z]`; do
echo -n "HDD型式:"
smartctl -i $f | grep "Device Model" | cut -f2 -d:
echo -n "HDD容量:"
smartctl -i $f | grep "User Capacity" | cut -f2 -d:
done
}

function oddinfo {
echo "====== 光学ディスクドライブ情報 ======"
echo -n "CD/DVD-ROM型式:"
cat /proc/scsi/scsi | grep -B2 "CD-ROM" | grep Vendor | cut -f3 -d: \
| sed 's/ *Rev//'
}

# main
# root権限で実行されているかチェック
if [[ ${EUID:-${UID}} != 0 ]]; then
echo "このスクリプトはroot権限で実行する必要があります。"
exit 1
fi

cpuinfo
memoryinfo
if [[ ! -x /usr/sbin/smartctl ]]; then
echo "smartctlコマンドが見つかりません。smartmontoolsパッケージを入れてください。"
exit 1
fi
hddinfo
oddinfo
    (1-1/1)