Obteniendo información del sistema en Linux

consola-linux-shellCualquier administrador de sistemas informáticos que se precie tiene que saber extraer información de la máquina con la que está trabajando, ya sea características del disco duro, la CPU, la memoria, los procesos que se están ejecutando y infinidad de cosas más. Y teniendo en cuenta que estamos trabajando con sistemas GNU Linux, encontrar el modelo de nuestra tarjeta de red inalámbrica o de la tarjeta de vídeo es totalmente imprescindible,  ya que muchas veces nos tenemos que buscar la vida para encontrar los módulos (drivers) correspondientes.

Está claro, en este artículo trataremos de los comandos que nos facilitarán todas esas tareas.

Información general del sistema

En éste primer apartado nos encontramos con el comando uname, que nos mostrará, si los sabemos utilizar, gran información sobre el sistema.

  1. #El comando 'uname' sin ninguna variable sólo nos 
  2. #dirá que nuestro sistema es Linux 
  3. uname 
  4. #Si añadimos la variable -v nos mostrará entre 
  5. #otras cosas la fecha de compilación del kernel 
  6. uname -v 
  7. #Si añadimos la variable -a nos mostrará el total de detalles.
  8. uname -a

Os dejo aquí una captura del equipo que estoy usando para éste artículo:

uname

Memoria y disco en uso

Aunque actualmente la mayoría de equipos no se tienen que preocupar demasiado por la memoria y el disco, es importante llevar un control sobre estos,.

El comando df nos dará un resumen del espacio libre en disco, con información sobre todas sus particiones. Al igual que en el comando anterior, según los parámetros que usemos nos dará una información más o menos detallada.

  1. #El comando 'df' sin parámetros nos listará el total de 
  2. #particiones y el uso del espacio. 
  3. df
  4.  
  5. #Un parámetro importante de éste comando son las
  6. #variables -h y -H, que nos listará la información "legible
  7. #por humanos"
  8. df -h

Aquí podéis la información de disco de mi portátil Toshiba Satellite.

df

Bien, hemos visto como obtener información del espacio en disco, pero ¿Y de la memoria?

Ahora toca el turno al comando free, que nos mostrará el uso actual de la memoria. Al igual que el resto de comandos, los parámetros son muy importantes.

  1. #El comando 'free' sin parámetros nos dará
  2. #información del uso de la memoria.
  3. free
  4.  
  5. #Si añadimos la variable -m nos dará la información
  6. #en megabytes, -g en gigabytes.
  7. free -m
  8.  
  9. #Con la variable -t nos mostrará una línea al final
  10. #con los totales
  11. free -mt

Dejo captura con los datos extraídos de mi sistema:

free

Hablemos de particiones

Cómo muchos ya sabrán al arrancar nuestro sistema operativo hay un punto en que se analiza el fichero /etc/fstab, donde les decimos las particiones que tiene que montar. Pues bien, realizando una visualización de éste archivo podemos ver que particiones debemos de tener montadas.

  1. #Podemos añadir 'less' o 'more' por si
  2. #nuestro fichero es muy largo.
  3. cat /etc/fstab | less

Otro comando muy importante fdisk, en este caso, sólo nos interesa con la variable -l, ya que lo utilizaremos para que nos de información.

  1. #Añadiendo la variable -l, el comando 'fdisk'
  2. #nos mostrará además de listar /etc/fstab, las 
  3. #particiones extendidas, y también las que no
  4. #están montadas.
  5. fdisk -l

Por último y no menos importante. El comando swapon, que con la variable -s, nos indicará el estado de la partición transaccional o swap.

  1. swapon -s

Más información del sistema

A demás de los discos duros y de la memoria, tenemos muchos más dispositivos que requiera atención, ya sean las tarjetas de audio, de vídeo o de red.

Con el comando lspci, listaremos los buses PCI que se encuentren instalados en el sistema. Cuando tengamos algún problema con un dispositivo por mal funcionamiento, podemos acudir a la información de dicho comando, que nos será de mucha gran utilidad para solucionarlos. Ya que nos suministraré información detallada.

  1. #El comando 'lspci' suele devolver un listado muy
  2. #extenso. Por lo tanto es conveniente utilizar
  3. #siempre una 'pipe' con los comandos 'more' o 'less'.
  4. lspci | less
  5.  
  6. #Si hay un dispositivo de la lista del que queremos
  7. #más información, usaremos -s para seleccionarlo, y
  8. # -v (verbose) para que nos de más información.
  9. lspci -s [DISPOSITIVO] -v

Aquí tenemos un ejemplo:

lspcilspci2Como observamos en la última imagen si en vez de añadir -v, añadimos -vv, nos dará una información aún más detallada.

Podemos ver los dispositivos USB con lsusb y los módulos del sistema con lsmod.

Otra manera de obtener información del sistema

En el directorio /proc, un lugar donde el sistema nos indica información del kernel, y usando los comandos cat o more, podremos listarla.

Por ejemplo:

  1. #Para ver la versión del kernel
  2. cat ./version
  3.  
  4. #Información sobre el chipset
  5. cat ./cpuinfo

Una nota importante, es que no debemos tocar nada, ya que el directorio es clave para el sistema. Sólo listar la información.

Espero que os haya sido de interés.

No dudéis en comentar.