Linux lshwコマンドは、システムのすべてのハードウェア構成を一覧表示します。
lshwコマンドから抽出できる一般的な情報のいくつかは次のとおりです。
- RAMメモリ情報
- CPU構成
- マザーボード情報
- ハードディスク情報
- ネットワークデバイス情報
Linuxlshwコマンドの機能
- XML、JSON、HTMLなどのさまざまな形式で出力を生成する機能。
- リダイレクト演算子を使用して、出力をファイルに簡単にダンプできます。
- デフォルトの出力には多くの情報が含まれているため、さまざまなオプションを使用して特定のハードウェア情報を取得できます。
- GUIもサポートし、デスクトップ環境でのみ役立ちます。ほとんどの場合、これらのコマンドはGUIソフトウェアがないLinuxサーバーで実行します。
lshwコマンドの制限
- 現時点ではFirewireデバイスを検出していません。
- 正しいハードウェアの詳細を取得するには、rootまたはsudoを使用してスーパーユーザーとして実行する必要があります。
- 出力をファイルに保存する-dumpオプションが機能していないことがわかりました。
Linuxハードウェア情報の例
lshwコマンドを使用してLinuxハードウェア情報を取得するためのいくつかの例を見てみましょう。
1。完全なLinuxハードウェア情報の取得
root@localhost:~# sudo lshw localhost description: Computer product: Standard PC (Q35 + ICH9, 2009) vendor: QEMU version: pc-q35-3.1 width: 64 bits capabilities: smbios-2.8 dmi-2.8 vsyscall32 configuration: boot=normal *-core description: Motherboard physical id: 0 *-firmware description: BIOS vendor: SeaBIOS physical id: 0 version: rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org date: 04/01/2014 size: 96KiB *-cpu description: CPU product: AMD EPYC 7501 32-Core Processor vendor: Advanced Micro Devices [AMD] physical id: 400 bus info: cpu@0 version: pc-q35-3.1 slot: CPU 0 size: 2GHz capacity: 2GHz width: 64 bits capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp x86-64 rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibpb vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 virt_ssbd arat configuration: cores=1 enabledcores=1 threads=1 *-memory description: System Memory physical id: 1000 size: 2GiB capacity: 2GiB capabilities: ecc configuration: errordetection=multi-bit-ecc *-bank description: DIMM RAM vendor: QEMU physical id: 0 slot: DIMM 0 size: 2GiB *-pci description: Host bridge product: 82G33/G31/P35/P31 Express DRAM Controller vendor: Intel Corporation physical id: 100 bus info: pci@0000:00:00.0 version: 00 width: 32 bits clock: 33MHz *-display UNCLAIMED description: VGA compatible controller physical id: 1 bus info: pci@0000:00:01.0 version: 02 width: 32 bits clock: 33MHz capabilities: vga_controller configuration: latency=0 resources: memory:fd000000-fdffffff memory:febd0000-febd0fff memory:c0000-dffff *-scsi:0 description: SCSI storage controller product: Virtio SCSI vendor: Red Hat, Inc. physical id: 2 bus info: pci@0000:00:02.0 version: 00 width: 64 bits clock: 33MHz capabilities: scsi msix bus_master cap_list configuration: driver=virtio-pci latency=0 resources: irq:22 ioport:c000(size=64) memory:febd1000-febd1fff memory:fe000000-fe003fff *-virtio0 UNCLAIMED description: Virtual I/O device physical id: 0 bus info: virtio@0 configuration: driver=virtio_scsi *-scsi:1 description: SCSI storage controller product: Virtio SCSI vendor: Red Hat, Inc. physical id: 3 bus info: pci@0000:00:03.0 version: 00 width: 64 bits clock: 33MHz capabilities: scsi msix bus_master cap_list configuration: driver=virtio-pci latency=0 resources: irq:23 ioport:c040(size=64) memory:febd2000-febd2fff memory:fe004000-fe007fff *-virtio1 UNCLAIMED description: Virtual I/O device physical id: 0 bus info: virtio@1 configuration: driver=virtio_scsi *-network description: Ethernet controller product: Virtio network device vendor: Red Hat, Inc. physical id: 4 bus info: pci@0000:00:04.0 version: 00 width: 64 bits clock: 33MHz capabilities: msix bus_master cap_list rom configuration: driver=virtio-pci latency=0 resources: irq:20 ioport:c0c0(size=32) memory:febd3000-febd3fff memory:fe008000-fe00bfff memory:feb80000-febbffff *-virtio2 description: Ethernet interface physical id: 0 bus info: virtio@2 logical name: eth0 serial: f2:3c:92:d4:76:9e capabilities: ethernet physical configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 ip=45.79.122.188 link=yes multicast=yes *-isa description: ISA bridge product: 82801IB (ICH9) LPC Interface Controller vendor: Intel Corporation physical id: 1f bus info: pci@0000:00:1f.0 version: 02 width: 32 bits clock: 33MHz capabilities: isa configuration: driver=lpc_ich latency=0 resources: irq:0 *-storage description: SATA controller product: 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] vendor: Intel Corporation physical id: 1f.2 bus info: pci@0000:00:1f.2 version: 02 width: 32 bits clock: 33MHz capabilities: storage msi ahci_1.0 bus_master cap_list configuration: driver=ahci latency=0 resources: irq:31 ioport:c0e0(size=32) memory:febd4000-febd4fff *-serial UNCLAIMED description: SMBus product: 82801I (ICH9 Family) SMBus Controller vendor: Intel Corporation physical id: 1f.3 bus info: pci@0000:00:1f.3 version: 02 width: 32 bits clock: 33MHz configuration: latency=0 resources: ioport:700(size=64) *-scsi:0 physical id: 1 logical name: scsi0 *-disk description: EXT4 volume product: QEMU HARDDISK vendor: Linux physical id: 0.0.0 bus info: scsi@0:0.0.0 logical name: /dev/sda logical name: / version: 1.0 serial: ccf427b1-b94a-4237-b067-d9e9fc34756f size: 49GiB capabilities: 5400rpm journaled extended_attributes large_files huge_files dir_nlink recover extents ext4 ext2 initialized configuration: ansiversion=5 created=2020-02-19 14:27:58 filesystem=ext4 lastmountpoint=/ logicalsectorsize=512 modified=2020-04-28 08:10:42 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro,data=ordered mounted=2020-04-28 08:10:43 sectorsize=512 state=mounted *-scsi:1 physical id: 2 logical name: scsi1 *-disk description: Linux swap volume product: QEMU HARDDISK vendor: QEMU physical id: 0.1.2 bus info: scsi@1:0.1.2 logical name: /dev/sdb version: 1 serial: 179fdb40-6f5a-4973-99fd-2c0dfee57907 size: 512MiB capacity: 512MiB capabilities: 5400rpm swap initialized configuration: ansiversion=5 filesystem=swap logicalsectorsize=512 pagesize=4096 sectorsize=512 root@localhost:~#
多くの情報があることがわかるように、迅速なハードウェア情報が必要な場合は、-shortオプションを指定して実行してください。
root@localhost:~# sudo lshw -short H/W path Device Class Description ============================================= system Standard PC (Q35 + ICH9, 2009) /0 bus Motherboard /0/0 memory 96KiB BIOS /0/400 processor AMD EPYC 7501 32-Core Processor /0/1000 memory 2GiB System Memory /0/1000/0 memory 2GiB DIMM RAM /0/100 bridge 82G33/G31/P35/P31 Express DRAM Controller /0/100/1 display VGA compatible controller /0/100/2 storage Virtio SCSI /0/100/2/0 generic Virtual I/O device /0/100/3 storage Virtio SCSI /0/100/3/0 generic Virtual I/O device /0/100/4 network Virtio network device /0/100/4/0 eth0 network Ethernet interface /0/100/1f bridge 82801IB (ICH9) LPC Interface Controller /0/100/1f.2 storage 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] /0/100/1f.3 bus 82801I (ICH9 Family) SMBus Controller /0/1 scsi0 storage /0/1/0.0.0 /dev/sda volume 49GiB QEMU HARDDISK /0/2 scsi1 storage /0/2/0.1.2 /dev/sdb volume 512MiB QEMU HARDDISK root@localhost:~#
2。 LinuxCPU情報の取得
lshw -C class_name
を実行できます 特定のハードウェアクラス情報を取得します。 CPU情報を取得する方法を見てみましょう。
root@localhost:~# sudo lshw -C cpu *-cpu description: CPU product: AMD EPYC 7501 32-Core Processor vendor: Advanced Micro Devices [AMD] physical id: 400 bus info: cpu@0 version: pc-q35-3.1 slot: CPU 0 size: 2GHz capacity: 2GHz width: 64 bits capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp x86-64 rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibpb vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 virt_ssbd arat configuration: cores=1 enabledcores=1 threads=1 root@localhost:~#
複数のCPUがある場合、コマンドはすべてのCPUの情報を提供します。
lshw -C processor
コマンドはCPU情報も出力します。
クラス名がわからない場合は、lshwの短い出力で確認してください。
3。 Linuxメモリ情報の取得
root@localhost:~# sudo lshw -C memory *-firmware description: BIOS vendor: SeaBIOS physical id: 0 version: rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org date: 04/01/2014 size: 96KiB *-memory description: System Memory physical id: 1000 size: 2GiB capacity: 2GiB capabilities: ecc configuration: errordetection=multi-bit-ecc *-bank description: DIMM RAM vendor: QEMU physical id: 0 slot: DIMM 0 size: 2GiB root@localhost:~#
4。 Linuxハードディスク情報の取得
root@localhost:~# sudo lshw -C storage
5。 Linuxマザーボード情報の取得
root@localhost:~# sudo lshw -C bus *-core description: Motherboard physical id: 0 *-serial UNCLAIMED description: SMBus product: 82801I (ICH9 Family) SMBus Controller vendor: Intel Corporation physical id: 1f.3 bus info: pci@0000:00:1f.3 version: 02 width: 32 bits clock: 33MHz configuration: latency=0 resources: ioport:700(size=64) root@localhost:~#
6。 Linuxネットワークインターフェース情報の取得
root@localhost:~# sudo lshw -C network *-network description: Ethernet controller product: Virtio network device vendor: Red Hat, Inc. physical id: 4 bus info: pci@0000:00:04.0 version: 00 width: 64 bits clock: 33MHz capabilities: msix bus_master cap_list rom configuration: driver=virtio-pci latency=0 resources: irq:20 ioport:c0c0(size=32) memory:febd3000-febd3fff memory:fe008000-fe00bfff memory:feb80000-febbffff *-virtio2 description: Ethernet interface physical id: 0 bus info: virtio@2 logical name: eth0 serial: f2:3c:92:d4:76:9e capabilities: ethernet physical configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 ip=45.79.122.188 link=yes multicast=yes root@localhost:~#
7。 HTML、XML、およびJSON形式のLinuxハードウェア情報
lshwコマンドのデフォルト出力はプレーンテキストです。対応するオプションを指定することで、HTML、XML、およびJSON形式で出力を取得できます。
XML:
root@localhost:~# sudo lshw -C bus -xml <?xml version="1.0" standalone="yes" ?> <!-- generated by lshw-B.02.18 --> <!-- GCC 7.3.0 --> <!-- Linux 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 --> <!-- GNU libc 2 (glibc 2.27) --> <list> <node id="core" claimed="true" class="bus" handle=""> <description>Motherboard</description> <physid>0</physid> <node id="serial" class="bus" handle="PCI:0000:00:1f.3"> <description>SMBus</description> <product>82801I (ICH9 Family) SMBus Controller</product> <vendor>Intel Corporation</vendor> <physid>1f.3</physid> <businfo>pci@0000:00:1f.3</businfo> <version>02</version> <width units="bits">32</width> <clock units="Hz">33000000</clock> <configuration> <setting id="latency" value="0" /> </configuration> <resources> <resource type="ioport" value="700(size=64)" /> </resources> </node> </node> </list> root@localhost:~#
JSON:
root@localhost:~# sudo lshw -C memory -json { "id" : "firmware", "class" : "memory", "claimed" : true, "description" : "BIOS", "vendor" : "SeaBIOS", "physid" : "0", "version" : "rel-1.12.0-0-ga698c8995f-prebuilt.qemu.org", "date" : "04/01/2014", "units" : "bytes", "size" : 98304 }, { "id" : "memory", "class" : "memory", "claimed" : true, "handle" : "DMI:1000", "description" : "System Memory", "physid" : "1000", "units" : "bytes", "size" : 2147483648, "capacity" : 2147483648, "configuration" : { "errordetection" : "multi-bit-ecc" }, "capabilities" : { "ecc" : "Multi-bit error-correcting code (ECC)" }, "children" : [ { "id" : "bank", "class" : "memory", "claimed" : true, "handle" : "DMI:1100", "description" : "DIMM RAM", "vendor" : "QEMU", "physid" : "0", "slot" : "DIMM 0", "units" : "bytes", "size" : 2147483648 } ] }, root@localhost:~#
HTML:
root@localhost:~# sudo lshw -C memory -html
8。 Linuxハードウェア情報をファイルに保存する
lshwコマンドで-dumpオプションを使用しようとしましたが、うまくいきませんでした。ただし、いつでもリダイレクト演算子(>)を使用して新しいファイルに保存できます。
# sudo lshw -html > hardware_info.html
結論
Linux lshwコマンドは、完全なハードウェア情報を取得するためのシンプルなツールです。特定のハードウェア情報をHTMLやJSONなどの複数の形式で取得するためのさまざまなオプションは、他のユーザーと詳細を共有する場合にも非常に役立ちます。
参照 :HardwareLiSter