GNU/Linux >> Tutoriales Linux >  >> Linux

Comando lshw de Linux:obtener información de hardware de Linux

El comando lshw de Linux enumera toda la configuración de hardware del sistema.

Parte de la información común que podemos extraer del comando lshw es:

  • Información de memoria RAM
  • Configuraciones de CPU
  • Información de la placa base
  • Información del disco duro
  • Información de dispositivos de red

Características del comando lshw de Linux

  • Capacidad de producir la salida en varios formatos como XML, JSON y HTML.
  • Podemos volcar la salida a un archivo fácilmente usando el operador de redirección.
  • La salida predeterminada contiene mucha información, podemos obtener información específica del hardware usando varias opciones.
  • Admite GUI también, útil solo para entornos de escritorio. La mayoría de las veces, ejecutamos estos comandos en un servidor Linux donde no tenemos software GUI.

Limitaciones del comando lshw

  • No detecta dispositivos Firewire a partir de ahora.
  • Debe ejecutarse como superusuario, ya sea root o con sudo, para obtener los detalles de hardware correctos.
  • Encontré que la opción -dump para guardar la salida en un archivo no funciona.

Ejemplos de información de hardware de Linux

Veamos algunos ejemplos para obtener la información del hardware de Linux usando el comando lshw.

1. Obtener información completa sobre el hardware de 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:~# 

Como puede ver, es mucha información, si desea obtener información rápida sobre el hardware, ejecútela con la opción -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. Obtener información de la CPU de Linux

Podemos ejecutar lshw -C class_name para obtener la información específica de la clase de hardware. Veamos cómo obtener la información de la 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:~# 

Si tiene varias CPU, el comando proporcionará información de todas las CPU.

El lshw -C processor El comando también imprimirá la información de la CPU.

Si no está seguro del nombre de la clase, mírelo en el resultado corto de lshw.

3. Obtener información sobre la memoria de 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. Obtener información del disco duro de Linux

root@localhost:~# sudo lshw -C storage

5. Obtener información de la placa base de 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. Obtener información sobre las interfaces de red de 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. Información de hardware de Linux en formatos HTML, XML y JSON

La salida predeterminada del comando lshw está en texto sin formato. Podemos obtener la salida en formatos HTML, XML y JSON especificando las opciones correspondientes.

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. Guardar información de hardware de Linux en un archivo

Traté de usar la opción -dump con el comando lshw pero no funcionó para mí. Pero siempre podemos usar el operador de redirección (>) para guardarlo en un nuevo archivo.

# sudo lshw -html > hardware_info.html

Conclusión

El comando lshw de Linux es una herramienta simple para obtener la información completa del hardware. Las diversas opciones para obtener la información de hardware específica y en múltiples formatos, como HTML y JSON, también son muy útiles para compartir los detalles con otros.

Referencia :HardwareLiSter


Linux
  1. Cómo obtener información sobre el sistema y el hardware en Linux

  2. dmidecode:obtenga información del hardware del sistema en Linux

  3. Linux:¿obtener información sobre el hardware de una máquina en Linux?

  4. 7 ejemplos de comandos lspci de Linux para obtener información del dispositivo de hardware de bus PCI

  5. Ejemplos de comandos lvmdump en Linux

Cómo verificar la información de la CPU en Linux

Cómo ver información de hardware en Linux

Comandos importantes para ver la información del hardware y del sistema en Linux

Obtener información sobre un comando con tipo de comando en Linux

Cómo obtener información de hardware en Linux usando el comando dmidecode

Cómo obtener especificaciones de hardware de su sistema usando lshw Hardware Lister