GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Linux lshw - Obtenir des informations sur le matériel Linux

La commande Linux lshw répertorie toute la configuration matérielle du système.

Certaines des informations courantes que nous pouvons extraire de la commande lshw sont :

  • Informations sur la mémoire RAM
  • Configuration du processeur
  • Informations sur la carte mère
  • Informations sur le disque dur
  • Informations sur les périphériques réseau

Fonctionnalités de la commande Linux lshw

  • Capacité à produire la sortie dans divers formats tels que XML, JSON et HTML.
  • Nous pouvons facilement vider la sortie dans un fichier à l'aide de l'opérateur de redirection.
  • La sortie par défaut contient beaucoup d'informations, nous pouvons obtenir des informations spécifiques sur le matériel en utilisant diverses options.
  • Prend également en charge l'interface graphique, utile uniquement pour les environnements de bureau. La plupart du temps, nous exécutons ces commandes sur un serveur Linux sur lequel nous n'avons pas de logiciel d'interface graphique.

Limites de la commande lshw

  • Il ne détecte pas les appareils Firewire pour le moment.
  • Il doit être exécuté en tant que superutilisateur, root ou avec sudo, pour obtenir les détails matériels corrects.
  • J'ai trouvé que l'option -dump pour enregistrer la sortie dans un fichier ne fonctionne pas.

Exemples d'informations sur le matériel Linux

Examinons quelques exemples pour obtenir les informations sur le matériel Linux à l'aide de la commande lshw.

1. Obtenir des informations complètes sur le matériel 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:~# 

Comme vous pouvez voir qu'il y a beaucoup d'informations, si vous voulez des informations rapides sur le matériel, exécutez-les avec l'option -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. Obtenir des informations sur le processeur Linux

Nous pouvons exécuter lshw -C class_name pour obtenir les informations de classe matérielle spécifiques. Voyons comment obtenir les informations sur le processeur.

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:~# 

Si vous avez plusieurs processeurs, la commande fournira des informations sur tous les processeurs.

Le processeur lshw -C processor La commande imprimera également les informations sur le processeur.

Si vous n'êtes pas sûr du nom de la classe, regardez-le dans la sortie courte de lshw.

3. Obtenir des informations sur la mémoire 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. Obtenir des informations sur le disque dur Linux

root@localhost:~# sudo lshw -C storage

5. Obtenir des informations sur la carte mère 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. Obtenir des informations sur les interfaces réseau 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. Informations sur le matériel Linux aux formats HTML, XML et JSON

La sortie par défaut de la commande lshw est en texte brut. Nous pouvons obtenir la sortie aux formats HTML, XML et JSON en spécifiant les options correspondantes.

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. Enregistrement des informations matérielles Linux dans un fichier

J'ai essayé d'utiliser l'option -dump avec la commande lshw mais cela n'a pas fonctionné pour moi. Mais, nous pouvons toujours utiliser l'opérateur de redirection (>) pour l'enregistrer dans un nouveau fichier.

# sudo lshw -html > hardware_info.html

Conclusion

La commande Linux lshw est un outil simple pour obtenir les informations complètes sur le matériel. Les différentes options pour obtenir les informations matérielles spécifiques et dans plusieurs formats tels que HTML et JSON sont également très utiles pour partager les détails avec d'autres.

Référence :HardwareLiSter


Linux
  1. Comment obtenir des informations sur le système et le matériel sous Linux

  2. dmidecode :obtenir des informations sur le matériel système sous Linux

  3. Linux - Obtenir des informations sur le matériel d'une machine sous Linux ?

  4. 7 exemples de commande Linux lspci pour obtenir des informations sur le périphérique matériel du bus PCI

  5. Obtenir des informations sur le matériel d'une machine sous Linux

Comment vérifier les informations du processeur sous Linux

Comment afficher les informations sur le matériel sous Linux

Commandes importantes pour afficher les informations sur le matériel et le système sous Linux

Obtenir des informations sur une commande avec une commande de type sous Linux

Comment obtenir des informations sur le matériel sous Linux à l'aide de la commande dmidecode

Comment obtenir les spécifications matérielles de votre système à l'aide de lshw Hardware Lister