Todo usuario de GNU/Linux en algún momento necesita conocer cierta información de su hardware. Tal vez antes de instalar un controlador gráfico, otras veces por algún mal funcionamiento de algún dispositivo o simplemente cuando nos conectamos remotamente a un servidor vía SSH. Incluso alguna vez podemos olvidar ciertos detalles de la configuración de nuestro sistema y queremos consultar estos datos.
Como podrán imaginar en el mundo del software libre hay muchas opciones que permiten llegar a un mismo resultado. Están por un lado las aplicaciones que tienen interfaz gráfica de usuario, y también las que tienen la interfaz de línea de comandos.
La mayoría de los usuarios básicos tienen más que suficiente con aplicaciones con interfaces gráficas muy bien diseñadas, como I-Nex, CPU-G, HardInfo, SysInfo, LsHw-GTK o KInfoCenter. Estas aplicaciones nos ofrecen información detallada acerca de nuestro hardware, permiten realizar un benchmark del sistema, y generar reportes. Como no podía ser de otra manera, las distribuciones más comunes traen instalada por defecto alguna de estas aplicaciones.
Pero para el usuario ‘linuxero cabrio nivel Jedi‘ 😛 que lleva sangre geek en sus venas y que siempre está aprendiendo cosas nuevas, existen aplicaciones muy interesantes en la poderosa línea de comandos de la terminal.
Bromas aparte, cuando necesitamos información precisa de un componente de nuestro sistema, raramente exista algo más rápido que escribir una línea en la terminal y obtener al momento el dato que buscamos. Personalmente, tengo la hipótesis de que el uso de la línea de comandos genera cierta liberación de endorfinas en el cerebro, y de allí lo adictivo que puede resultar su utilización. 😉
Volviendo al tema, existen muchas aplicaciones utilizadas para chequear la configuración del hardware y recursos del sistema, por lo que citaré algunas de las más frecuentemente utilizadas. Espero que no les resulte aburrido, y por el contrario, sea una fuente de motivación para sumergirse en el estudio y conocimiento de nuestro gran sistema operativo favorito. 😉
Antes de empezar a nombrar comandos, quisiera que tengan presente que cualquiera de ellos, seguido de la opción -h o –help, nos brinda información acerca de su función y de las diferentes opciones que podemos utilizar. Otra opción es la de acudir al manual de la aplicación. Esto se hace, simplemente, escribiendo ‘man’ seguido de la orden en cuestión. Ej: lsblk -h
o lsblk --help
o man lsblk
lscpu
Es una aplicación que nos muestra información muy precisa sobre la CPU y su arquitectura.
lspci
Es otra aplicación muy útil, ya que nos lista los buses PCI y brinda información sobre los dispositivos conectados a ellos, como adaptador VGA, tarjeta gráfica, adaptador de red, puertos USB, controladores SATA, etc.
Es muy útil cuando filtramos el resultado de este comando con una tubería o pipe. Cuando vean estas ‘tuberías’ no deben preocuparse, este recurso es frecuente en la línea de comandos y su uso potencia mucho las aplicaciones que iremos viendo.
lshw
El lshw es una utilidad que otorga información detallada acerca de dispositivos de hardware, como CPU, memoria, controladora usb, disco, etc.
lshw extrae la información de diferentes archivos ubicados en «/proc». A veces, estos archivos son complicados de entender, sobre todo cuando uno se inicia en el mundo Gnu/Linux. También se denomina sistema de pseudo-archivo de información de procesos. Esta carpeta no contiene archivos ‘reales‘, sino que los archivos representan información del sistema en tiempo de ejecución, como pueden ser la memoria del sistema, dispositivos montados, configuración de hardware, etc. Por esta razón puede considerarse como un centro de control e información para el kérnel. De hecho, una gran cantidad de utilidades del sistema son simplemente llamadas como archivos en este directorio. Por ejemplo, lsmod
es lo mismo que cat /proc/modules
mientras que lspci
es sinónimo de cat /proc/pci
.
lsscsi
Con este comando podemos listar todos los dispositivos scsi / sata como discos duros y unidades ópticas.
lsusb
Este comando muestra los controladores USB y los detalles sobre los dispositivos conectados a ellos. Para información más detallada podemos utilizar la opción lsusb -v
¿Necesitas comprobar el espacio libre en disco o el consumo de memoria RAM?
Entonces prueba con lsblk, df -H y free -m.
Como se puede apreciar en las imágenes, el comando lsblk nos aporta información sobre dispositivos de bloque. Se presenta la información de las particiones de disco en forma de árbol, indicando, entre otras cosas, el tamaño de las mismas y el punto de montaje.
El comando df nos brinda información sobre el sistema de ficheros. Aquí puede apreciarse el punto de montaje, la capacidad y el porcentaje de uso, entre otras cosas. Las opciónes -h o -H hacen referencia a ‘human readable‘, ‘lectura para humanos’, esto es, que aporta los datos de forma que son fácilmente comprensibles por personas, no está hecho en ‘lenguaje máquina’.
El comando free nos aporta información sobre la memoria RAM y SWAP. Si queremos un resultado en megabytes y por lo tanto sencillo de leer, entonces una buena opción es utilizar la forma free -m que es igual a free –mega.
Si lo que deseas son datos más pormenorizados del uso del disco, entonces te recomiendo leer este articulo de David Ochobits donde nos habla sobre la aplicación ncdu.
Dicen que para gustos, colores. Así que también pueden hacer uso de top / htop / atop para ver el uso de memoria, la memoria libre, el uso de la CPU y más.
Inxi
Este es un script que obtiene información de nuestro hardware de múltiples fuentes y comandos del sistema y otorga un informe colorido y sencillo de leer. Es una opción estupenda cuando queremos repasar toda la configuración de hardware de nuestro equipo ‘sin despeinarnos’.
Cuando utilizamos la opción -F nos devuelve un informe completo con todos los datos posibles. Y la opción x (abreviación de extra), nos otorga algunos datos más, fundamentalmente de drivers, determinado software, etc. En mi caso suelo utilizar inxi -F y con eso me basta. 😉
dmidecode
dmidecode funciona diferente a las aplicaciones antes nombradas, ya que tratará de localizar la tabla DMI para obtener información del hardware.
El DMI es un conjunto de datos acerca de las interfaces que se encuentran en cualquier PC o servidor. Estos datos contienen información de fábrica del hardware encontrado en el ordenador, como el fabricante, el producto, versión, número de serie e incluso la fecha de fabricación. De esta información depende el uso óptimo del hardware, para que el sistema operativo funcione correctamente. Esta información es almacenada en la BIOS, pero no se encuentra disponible en modo visual, es decir que no podemos ver los datos ni modificarlos mediante el uso del BIOS Setup. Entonces es ahí donde dmidecode realiza la magia.
En la imagen de abajo podemos ver la primera parte de la salida de la orden
sudo dmidecode -q | less
Noten cómo esta aplicación requiere de permisos de superusuario para obtener los datos (sudo). La opción -q permite tener los datos de manera menos detallada. Sin embargo, la cantidad de información es abrumadora, por lo que el uso de la orden less (tubería mediante), permite ir ‘navegando’ mediante el scroll y leyendo tranquilamente.
Si, el poder de la consola es muy grande. Espero que este sea punto de partida para aquellos que quieran aprender más de nuestro querido y fantástico sistema, GNU/Linux. La curva de aprendizaje puede ser empinada en algunos momentos, pero el resultado final vale la pena.
Y tu, usuario audaz que usas a menudo la terminal: ¿Que comando te parece interesante?
Saludos.
Bibliografía
Las imágenes pertenecen al autor pero pueden ser utilizadas siempre que se señale su autoría.
Gracias por descubrirme otra utilidad más de esa desconocida llamada consola.
A mi el que me parece más completo de todos es «hwinfo». Antes usaba «lshw», pero desde que descubrí este otro es el único que uso.
Un saludo.
Gracias por tan detallada explicación, deseando ver mas profundamente el uso de pipes o tuberías y utilidades. salu2
Excelente artículo. Siempre nos vienen bien para los no iniciados
Algunos comandos los conocía pero otros no. Artículo muy útil. Gracias!