Linuxのハードウェア情報を取得するコマンド15選

Linuxの管理をしていると、OSが搭載されているハードウェア情報を取得する事がある。
今回は、そんなときに使えるハードウェア情報を取得するコマンドを紹介する。

1.lscpu

CPUに関する情報を取得するコマンド。コア数やスレッド数、仮想に対応しているか否か等の情報を取得出来る。
以下に実行例を記載する。

$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
コアあたりのスレッド数:1
ソケットあたりのコア数:4
Socket(s): 1
NUMAノード: 1
ベンダーID: GenuineIntel
CPUファミリー: 6
モデル: 23
ステッピング: 10
CPU MHz: 2833.596
BogoMIPS: 5667.19
仮想化: VT-x
L1d キャッシュ: 32K
L1i キャッシュ: 32K
L2 キャッシュ: 6144K
NUMA node0 CPU(s): 0-3

2.lspci

pciに接続されているハードウェアをリストアップするコマンド。
以下に実行例を記載する。

$ lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 02)
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)
00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02)
00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02)
00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 02)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801I (ICH9 Family) 2 port SATA Controller [IDE mode] (rev 02)
01:00.0 VGA compatible controller: NVIDIA Corporation G98 [GeForce 8400 GS] (rev a1)
03:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller (rev 11)
03:00.1 IDE interface: Marvell Technology Group Ltd. 88SE9128 IDE Controller (rev 11)
04:00.0 SATA controller: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)
04:00.1 IDE interface: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
06:06.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

3.lsscsi

SCSI接続されているデバイスの情報を取得するコマンド。
以下に実行例を記載する。

$ lsscsi
[0:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sda
[1:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdb
[7:0:0:0] process Marvell 91xx Config 1.01 -
[8:0:0:0] disk ATA WDC WD6400AAKS-0 01.0 /dev/sdc
[9:0:0:0] disk ATA WDC WD6400AAKS-0 01.0 /dev/sdd
[12:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sde
[12:0:1:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdf
[13:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdg
[13:0:1:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdh
[14:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdi
[15:0:0:0] disk ATA WDC WD25EZRX-00M 80.0 /dev/sdj

4.lsusb

接続されているUSBデバイス情報を取得するコマンド。
以下に実行例を記載する。

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 003: ID 04fe:0008 PFU, Ltd
Bus 001 Device 004: ID 0584:c2da RATOC System, Inc.
Bus 001 Device 005: ID 04fe:0006 PFU, Ltd
Bus 001 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver

5.lshw

後述する「/proc」フォルダ配下にあるようなハードウェア情報を、分かりやすく一覧表示してくれるコマンドだ。
別途インストールする必要があるので、以下のコマンドでインストールする。

sudo apt-get install lshw (Debian/Ubuntuの場合)
sudo yum install lshw (RHEL系の場合)

実際に実行した結果がこちら。

6.hwinfo

lshwと同様に、ハードウェア情報を分かりやすく一覧化してくれるコマンド。
以下に実行例を記載する。

$ hwinfo --short
cpu:
 Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz, 2000 MHz
 Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz, 2000 MHz
keyboard:
 /dev/input/event2 AT Translated Set 2 keyboard
mouse:
 /dev/input/mice Macintosh mouse button emulation
 /dev/input/mice VMware Mouse
graphics card:
 VMWare VMWARE0405
storage:
 Floppy disk controller
 VMWare Virtual Machine Chipset
 VMWare LSI Logic Parallel SCSI Controller
network:
 eth0 VMWare VMXNET3 Ethernet Controller
network interface:
 lo Loopback network interface
 eth0 Ethernet network interface
disk:
 /dev/sda VMware Virtual disk
partition:
 /dev/sda1 Partition
 /dev/sda2 Partition
cdrom:
 /dev/sr0 NECVMWar VMware IDE CDR10
floppy:
 /dev/fd0 Floppy Disk
bios:
 BIOS
bridge:
 VMWare Virtual Machine Chipset
 Intel 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge
 VMWare Virtual Machine Chipset
 VMWare Virtual Machine Chipset
 VMWare PCI bridge
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
 VMWare PCI Express Root Port
memory:
 Main Memory
unknown:
 FPU
 DMA controller
 PIC
 Timer
 Keyboard controller
 /dev/lp0 Parallel controller
 VMWare Virtual Machine Communication Interface
 /dev/ttyS0 16550A
 /dev/ttyS1 16550A

7.lsblk

ブロックデバイスリストを取得することが出来るコマンド。
以下にその実行例を記載する。

$  lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
tqsda1 8:1 0 500M 0 part /boot
mqsda2 8:2 0 99.5G 0 part
 tqvg_testcentos-lv_root (dm-0) 253:0 0 47.5G 0 lvm /
 tqvg_testcentos-lv_swap (dm-1) 253:1 0 5.9G 0 lvm [SWAP]
 mqvg_testcentos-lv_home (dm-2) 253:2 0 46.2G 0 lvm /home
sr0 11:0 1 1024M 0 rom

8.fdisk

パーティションの設定、操作コマンドだか、「-l」オプションを用いる事でパーティションの情報を取得することが出来る。
以下に実行例を記載する。

$ fdisk -l

ディスク /dev/sda: 107.4 GB, 107374182400 バイト
ヘッド 255, セクタ 63, シリンダ 13054
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00055f4d

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 64 512000 83 Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2 64 13055 104344576 8e Linux LVM

ディスク /dev/mapper/vg_testcentos-lv_root: 50.9 GB, 50939822080 バイト
ヘッド 255, セクタ 63, シリンダ 6193
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

ディスク /dev/mapper/vg_testcentos-lv_swap: 6308 MB, 6308233216 バイト
ヘッド 255, セクタ 63, シリンダ 766
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

ディスク /dev/mapper/vg_testcentos-lv_home: 49.6 GB, 49597644800 バイト
ヘッド 255, セクタ 63, シリンダ 6029
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000

9.df

Linuxの管理者ならお馴染み、HDDのパーティションごとの容量を確認出来る。コマンド。
以下に実行例を記載する。

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 12G 4.2G 7.0G 38% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 2.0G 4.0K 2.0G 1% /dev
tmpfs 396M 960K 395M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 2.0G 128K 2.0G 1% /run/shm
none 100M 48K 100M 1% /run/user

なお、このコマンドを更に拡張した、dfcというコマンドもある。

10.free

こちらもLinuxの管理者ならお馴染み、メモリの総容量とその利用容量を確認するコマンド。
以下に実行例を記載する。

$ free -h
 total used free shared buffers cached
Mem: 3.9G 2.0G 1.9G 7.2M 131M 1.1G
-/+ buffers/cache: 732M 3.1G
Swap: 4.0G 0B 4.0G

このコマンドを更に改良した、freecコマンドというものもある。

11.hdparm

ハードディスクのパラメータを取得するコマンド。
「-I」オプションや「-t」オプションで簡易的にベンチマークを取得することもできる。

12.hddtemp

ハードディスクのSMART情報から、現在のHDDの温度を取得するコマンド。
以下に実行例を記載する。

$ hddtemp /dev/sd[a-j]
/dev/sda: WDC WD25EZRX-00MMMB0: 41°C
/dev/sdb: WDC WD25EZRX-00MMMB0: 42°C
/dev/sdc: WDC WD6400AAKS-00A7B0: 44°C
/dev/sdd: WDC WD6400AAKS-00A7B0: 45°C
/dev/sde: WDC WD25EZRX-00MMMB0: 40°C
/dev/sdf: WDC WD25EZRX-00MMMB0: 43°C
/dev/sdg: WDC WD25EZRX-00MMMB0: 41°C
/dev/sdh: WDC WD25EZRX-00MMMB0: 42°C
/dev/sdi: WDC WD25EZRX-00MMMB0: 41°C
/dev/sdj: WDC WD25EZRX-00MMMB0: 42°C

13.Inxi

以前にも紹介したコマンドだが、ハードウェアの情報を一元的に取得出来るコマンド。
以下に、このコマンドの実行例を記載する。

$ inxi -F
System: Host: mediaserver Kernel: 2.6.32-358.6.2.el6.x86_64 x86_64 (64 bit)
Console: tty 0 Distro: CentOS release 6.4 (Final)
Machine: No /sys/class/dmi, using dmidecode: you must be root to run dmidecode
CPU: Quad core Intel Core2 Quad Q9550 (-MCP-) cache: 6144 KB
Clock Speeds: 1: 2833 MHz 2: 2833 MHz 3: 2833 MHz 4: 2833 MHz
Graphics: Card: NVIDIA G98 [GeForce 8400 GS]
Display Server: N/A drivers: nouveau (unloaded: vesa,fbdev,nv)
tty size: 81x29 Advanced Data: N/A out of X
Audio: Card Intel 82801I (ICH9 Family) HD Audio Controller
driver: snd_hda_intel
Sound: Advanced Linux Sound Architecture v: 1.0.21
Network: Card: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller
driver: r8169
IF: eth0 state: up speed: 1000 Mbps duplex: full
mac: 00:1a:4d:5b:e4:94
Drives: HDD Total Size: 21284.2GB (48.7% used)
ID-1: /dev/sda model: WDC_WD25EZRX size: 2500.5GB
ID-2: /dev/sdd model: WDC_WD6400AAKS size: 640.1GB
ID-3: /dev/sdc model: WDC_WD6400AAKS size: 640.1GB
ID-4: /dev/sdb model: WDC_WD25EZRX size: 2500.5GB
ID-5: /dev/sde model: WDC_WD25EZRX size: 2500.5GB
ID-6: /dev/sdf model: WDC_WD25EZRX size: 2500.5GB
ID-7: /dev/sdh model: WDC_WD25EZRX size: 2500.5GB
ID-8: /dev/sdg model: WDC_WD25EZRX size: 2500.5GB
ID-9: /dev/sdi model: WDC_WD25EZRX size: 2500.5GB
ID-10: /dev/sdj model: WDC_WD25EZRX size: 2500.5GB
Partition: ID-1: / size: 571G used: 56G (11%) fs: ext4 dev: /dev/sdd3
ID-2: /boot size: 517M used: 167M (34%) fs: ext4 dev: /dev/sdc1
ID-3: /home size: 12T used: 9.4T (89%) fs: ext4 dev: /dev/dm-0
ID-4: swap-1 size: 16.78GB used: 0.43GB (3%) fs: swap dev: /dev/sdd2
RAID: Device-1: /dev/md0 - active raid: 6 components: online: 7/7 - sde sdf1 sdh1 sdg sdi1 sda1 sdj1 spare: sdb1
Sensors: System Temperatures: cpu: No active sensors found. Have you configured your sensors yet? mobo: N/A gpu: 74.0
Info: Processes: 197 Uptime: 24 days Memory: 4804.9/7870.6MB
Init: Upstart runlevel: 5 Client: Shell (bash) inxi: 2.1.28

14.dmidecode

こちらも同様に、ハードウェアの情報を一元的に取得出来るコマンド。
デフォルトで用意されている標準コマンドなので、環境によってはインストール出来ないinxiコマンドよりも扱いやすいだろう。
オプションを指定せずに出力すると表示数が、多くて読めないので、「-t」もしくは「-s」オプションで欲しい情報だけを取得させるといいだろう。
オプション指定時に指定出来る引数は以下の通りだ。

$ sudo dmidecode -s
dmidecode: option requires an argument -- 's'
String keyword expected
Valid string keywords are:
bios-vendor
bios-version
bios-release-date
system-manufacturer
system-product-name
system-version
system-serial-number
system-uuid
baseboard-manufacturer
baseboard-product-name
baseboard-version
baseboard-serial-number
baseboard-asset-tag
chassis-manufacturer
chassis-type
chassis-version
chassis-serial-number
chassis-asset-tag
processor-family
processor-manufacturer
processor-version
processor-frequency
$ sudo dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
bios
system
baseboard
chassis
processor
memory
cache
connector
slot

以下に実行例を記載する。

$ sudo dmidecode -t bios
# dmidecode 2.12
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Phoenix Technologies LTD
Version: 6.00
Release Date: 07/30/2013
Address: 0xEA050
Runtime Size: 90032 bytes
ROM Size: 64 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
Smart battery is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
BIOS Revision: 4.6
Firmware Revision: 0.0

15./proc配下

厳密にはコマンドではないのだが、Linuxの場合はハードウェアに関する情報は「/proc」以下のフォルダに保持されている。
例えば、CPUの情報が欲しい場合は「/proc/cpuinfo」ファイルを参照すればいい。

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
stepping : 10
cpu MHz : 2833.596
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority
bogomips : 5667.19
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
stepping : 10
cpu MHz : 2833.596
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority
bogomips : 5667.19
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
stepping : 10
cpu MHz : 2833.596
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority
bogomips : 5667.19
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
stepping : 10
cpu MHz : 2833.596
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dts tpr_shadow vnmi flexpriority
bogomips : 5667.19
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

その他にもLinuxのハードウェア情報を保持したファイルが含まれているので、用途に応じて確認してもらいたい。