6 comandos para obtener información sobre hardware en Linux
En este tutorial veremos algunos de los comandos más utilizados para obtener información del hardware de una máquina con sistema operativo GNU/Linux. Antes de comenzar, te recomiendo que leas una recopilación de 8 comandos para obtener información de la CPU que realizamos en Geeky Theory.
1. lspci
El comando lspci realiza un listado de los buses PCI y proporciona detalles sobre los dispositivos conectados a ellos, como adaptadores VGA, adaptadores de red, puertos USB, etc. [mario@arch ~]$ lspci 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) 00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller (rev 06) 00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) 00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06) 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) 00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05) 00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05) 00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5) 00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5) 00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation HM86 Express LPC Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05) 00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05) 07:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1) 08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 07) 09:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
2. lshw
Con el comando lshw es posible extraer información detallada de la configuración hardware de nuestro equipo. Puede mostrar la configuración de la memoria, versión de firmware, configuración de la placa base, versión de CPU, etc. Es posible que no venga instalada por defecto, por lo que si utilizáis una distribución basada en Debian, podéis introducir el siguiente comando: sudo apt-get install lshw En caso de ser Arch Linux: sudo pacman -S lshw Aquí tenéis un ejemplo de uso: [mario@arch ~]$ sudo lshw -short H/W path Device Class Description ================================================= system 20287 (LENOVO_MT_20287) /0 bus VIUU4 /0/0 memory 128KiB BIOS /0/4 processor Core i7 (To Be Filled By O.E.M.) /0/4/b memory 32KiB L1 cache /0/4/c memory 256KiB L2 cache /0/4/d memory 6MiB L3 cache /0/a memory 32KiB L1 cache /0/2a memory 16GiB System Memory /0/2a/0 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0,6 ns) /0/2a/1 memory DIMM [empty] /0/2a/2 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0,6 ns) /0/2a/3 memory DIMM [empty] /0/100 bridge Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller /0/100/1 bridge Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller /0/100/1.1 bridge Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller /0/100/1.1/0 display GK208M [GeForce GT 740M] /0/100/2 display 4th Gen Core Processor Integrated Graphics Controller /0/100/3 multimedia Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller /0/100/14 bus 8 Series/C220 Series Chipset Family USB xHCI /0/100/14/0 usb4 bus xHCI Host Controller /0/100/14/1 usb3 bus xHCI Host Controller /0/100/14/1/1 multimedia Lenovo EasyCamera /0/100/14/1/3 input USB Optical Mouse /0/100/14/1/7 communication Bluetooth USB Host Controller /0/100/16 communication 8 Series/C220 Series Chipset Family MEI Controller #1 /0/100/1a bus 8 Series/C220 Series Chipset Family USB EHCI #2 /0/100/1a/1 usb1 bus EHCI Host Controller /0/100/1a/1/1 bus USB hub /0/100/1b multimedia 8 Series/C220 Series Chipset High Definition Audio Controller /0/100/1c bridge 8 Series/C220 Series Chipset Family PCI Express Root Port #4 /0/100/1c/0 enp8s0 network RTL8101E/RTL8102E PCI Express Fast Ethernet controller /0/100/1c.4 bridge 8 Series/C220 Series Chipset Family PCI Express Root Port #5 /0/100/1c.4/0 wlp9s0 network AR9485 Wireless Network Adapter /0/100/1d bus 8 Series/C220 Series Chipset Family USB EHCI #1 /0/100/1d/1 usb2 bus EHCI Host Controller /0/100/1d/1/1 bus USB hub /0/100/1f bridge HM86 Express LPC Controller /0/100/1f.2 storage 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] /0/100/1f.3 bus 8 Series/C220 Series Chipset Family SMBus Controller /1 power CRB Battery 0 /2 power OEM_Define5 Es posible utilizar el comando con -short al final en caso de querer una descripción corta, tal y como aparece en el ejemplo.
3. lsscsi
El comando lsscsi realiza un listado de los dispositivos SCSI/SATA conectados, como por ejemplo discos duros: [mario@arch ~]$ lsscsi [2:0:0:0] cd/dvd PLDS DVD-RW DU8A5SH BL61 /dev/sr0 [4:0:0:0] disk ATA ST1000LM014-SSHD LVD3 /dev/sda
4. free
Este es un comando que utilizo mucho, sobre todo en servidores. free sirve para comprobar la RAM libre, usada y total del sistema: [mario@arch ~]$ free --mega total used free shared buff/cache available Mem: 16352 2502 92 607 13757 13136 Swap: 8176 0 8176
5. hdparm
El comando hdparm proporciona información sobre los dispositivos SATA conectados: [mario@arch ~]$ sudo hdparm -i /dev/sda /dev/sda: Model=ST1000LM014-SSHD-8GB, FwRev=LVD3, SerialNo=W38180P0 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=off CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=yes: unknown setting WriteCache=enabled Drive conforms to: Reserved: ATA/ATAPI-4,5,6,7 * signifies the current active mode
6. lsusb
Este comando muestra los controladores USB y detalles sobre los dispositos conectados. Por defecto, lsusb muestra información poco detallada, pero con la opción -v es posible imprimir datos con más detalle. [mario@arch ~]$ lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 004: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0 Bus 003 Device 003: ID 1bcf:0823 Sunplus Innovation Technology Inc. Bus 003 Device 002: ID 13d3:5170 IMC Networks Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Como podéis ver, hay muchas opciones para ver información sobre el hardware de nuestro equipo. Algunas merecen un artículo entero más que una simple mención, pero al menos ya las conocéis. ¡Saludos!