jueves, 7 de noviembre de 2013

Obtener información del sistema

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Hay ocasiones en que es útil o necesario conocer determinados aspectos de nuestra máquina, ya sean detalles técnicos (modelo de tarjeta de red, p.e.) o eminentemente prácticos (espacio libre en disco). En esta entrada vamos a contemplar comandos para terminal que nos van a proporcionar este tipo de información.

arch
Comando que muestra la arquitectura del PC (el procesador). En mi caso el dato obtenido es i686, que se refiere al modelo Pentium PRO o Pentium II de Intel.

df
Comando para comprobar el espacio libre en disco duro (en bloques).
df -h: se muestra la misma información pero en unidades estándar (megas, gigas...)
top
Sirve para visualizar los procesos en ejecución en tiempo real.

free
Muestra la cantidad de memoria libre y usada que tenemos.

uname
Nos sirve para conocer la versión del kernel que tenemos instalada.
uname -a: visualiza toda la información que proporciona este comando de una sola vez.
dmidecode
Herramienta que permite conocer a fondo el hardware que compone nuestro equipo, ofreciendo información acerca del fabricante del sistema, versión del BIOS, memorias, procesador y mucha otra. Este comando valdría para una sola entrada por sí solo.

lshw
Similar al anterior, ofrece un listado de especificaciones de hardware.

hostname
Muestra o establece el nombre de la máquina.
hostame [nuevo_hostname]: para establecer un nuevo hostname (solo para la sesión actual). Hablé de ello aquí.
ifconfig
Para ver los interfaces de red instalados.

iwconfig
Para ver los adaptadores de red inalámbrica (wi-fi) instalados.

lspci
Para listar los componentes instalados tipo PCI (Peripheal Component Interconnect) como tarjetas de red, de sonido o de TV.

dmesg
Lista el búffer de mensajes del kernel relativos al arranque del sistema, depuración de aplicaciones o funcionamiento del hardware.

iwlist
Obtiene información de la red inalámbrica (wi-fi)
iwlist wlan0: informa con detalle sobre las distintas redes wi-fi detectadas por la interfaz wlan0.
lshal
Ofrece información diversa sobre el hardware y el software.

lscpu
Informa sobre la arquitectura de la CPU.

lsusb
Para ver los buses y los dispositivos USB instalados.

date
Para visualizar y cambiar la fecha y la hora del sistema.
date -d 06/15/13: cambia la fecha a mes 06, día 15, año 2013.
date -s 18:21:45:  cambia la hora a las 18 horas, 21 minutos y 45 segundos.
history
Comando que lista los últimos comandos utilizados por el usuario (por defecto, los últimos 500). Cada línea de este historial recibe un número.
$ !264: ejecuta el comando correspondiente a la línea 264 del historial de comandos.
history 5: lista los últimos 5 comandos utilizados.
history c: limpia el historial de comandos.
HISTSIZE: variable ubicada en el archivo oculto /home/usuario/.bashrc donde se establece su valor (por defecto, 500). Aquí hable de las formas de cambiar el valor de una variable.
Si antecedemos un comando con un espacio no se guarda en el historial. 
Vuelvo a advertir: aquí solo dejo constancia de algunas de las opciones (y solo en determinados casos) de que disponen los comandos. Acudan a la ayuda de man, a --help (ya saben como funciona) y a Google para encontrar más información.

Hemos hablado de como obtener información del sistema, y de golpear el sistema hablaban los legendarios Yes en esta interpretación en vivo del tema "Shock to the system" allá por 1991.