lunes, 27 de julio de 2020

Comandos 煤tiles para an谩lisis de hardware y sistema en la terminal GNU/Linux


Buenas jornadas tengan ustedes, navegantes de lo desconocido. En esta ocasi贸n voy a hacer un post con unos cuantos comandos 煤tiles si alg煤n d铆a necesitamos saber los componentes de hardware de un pc. Ya ver茅is que son muy f谩ciles y si no ten茅is mucha experiencia con la terminal igual os sirve para ir practicando. Son totalmente informativos as铆 que en principio no hay ning煤n peligro por usarlos.
Seg煤n que usuario est茅is usando es posible que teng谩is que usar privilegios para que funcionen (_$ sudo )

Y sin mas dilaci贸n empezamos:

top

Con top podemos ver todos procesos en nuestro sistema directamente en la terminal, simplemente tecleamos top + “enter” y vemos una panor谩mica de los procesos abiertos.





Adem谩s tenemos, por supuesto, algunas opciones extra:


f podemos ordenar los resultados por categor铆a, para ello tiene un men煤 interactivo donde podemos elegirlas.









 z para ver los procesos en marcha, la visualizaci贸n cambia de color y podemos verlos f谩cilmente

shift + p ordena la tabla por uso de la CPU

k para terminar un proceso seleccionado por PID.

h para ver el men煤 de ayuda y ver el resto de opciones que tiene, la mayor铆a en el modo interactivo y algunas en terminal como:


_$ top -u tecmint    # para filtrar por usuario



_$ top -n 1 -b > top-output.txt  # grabar el resultado en un documento de texto en

                                                       #  /root/.toprc



Aparte de su ligereza, la opci贸n de poder filtrar procesos y pasarlos a un documento de texto me parece genial, cuando aprendes a usarlo un poco se hace muy r谩pido.


Cerramos este cap铆tulo de top y continuamos con mas comandos:

tail

Con tail -f "archivo.log" podemos ver un .log que cualquier actividad de nuestro sistema, concretamente vemos las 煤ltimas diez l铆neas de un archivo. Recordamos que los .log se encuentran en /var/log/ asi que por ejemplo:


_$ tail -f /var/log/apt/history.log



Con este comando en la terminal podemos ver los 煤ltimos paquetes instalados


Sin embargo para ver el .log de arranque tenemos el comando dmesg para la terminal. 

Podemos combinarlo con una tuber铆a (pipe)  con | less o  | more para poder ver el listado mas c贸modamente en pantalla.
Por ejemplo:

_$ dmesg | more 
_$ dmesg | less 






grep

grep imprime l铆neas que coinciden con un patr贸n o filtro proporcionado por el usuario por ejemplo: grep “filtro” archivo.txt nos mostrar铆a la l铆nea del archivo de texto que contenga la palabra filtro.


_$ free -h 



Con este simple comando podemos ver la Memoria Ram, el Buffer y Swap disponible.


_$ free -hl


para ver informaci贸n mas detallada

Para el improbable caso de que necesit茅is limpiar la memoria cach茅 solo tendr铆ais que teclear los siguientes comandos en la terminal:


_$ sync && echo 1 > /proc/sys/vm/drop_cache



_$ sync && echo2 > proc/sys/vm/drop_caches

_$ sync && echo 3 > /proc/sys/vm/drop_caches



Sync vaciar谩 el b煤fer del sistema de archivos mientras que enviando los valores 1,2 o 3 a drop_caches lo que hac茅is es:

  1. Limpiar el cache de p谩gina o de disco.
  2. Limpiar memoria asignada a directorios e inodos.
  3. Bueno la opci贸n tres es: la 1 y la 2 combinadas...

Ya que nos ponemos a limpiar, podemos limpiar la memoria swap con:

_$ swapoff -a && swapon -a


Al comando cat creo que todos los usuarios de linux lo conocemos, pero por si acaso; os recuerdo que cat nos muestra en la terminal de contenido de archivos, normalmente se combina con otros comandos para obtener diferentes resultados. 
Cat tiene varias opciones de filtrado y nos permite concatenar el contenido de dos archivos y mostrarlo en la terminal.


Vamos a ver unos cuantos usos de cat:


_$ cat /etc/*release 









para ver la informaci贸n detallada de la distribuci贸n y versi贸n que tenemos instalada.




_$ cat /etc/issue          # muestra la distribuci贸n Linux instalada.


_$ cat /proc/cpuinfo   # nos muestra informaci贸n sobre el procesador




Y bueno ya que estamos averiguando cosas sobre nuestro sistema linux podemos usar:


_$ uname -r   # para saber la versi贸n del kernel


lshw

Si lo que necesitamos es tener informaci贸n sobre el hardware tenemos a nuestra disposici贸n el comando lshw. Ejecutando este comando con privilegios (sudo) tendremos una informaci贸n mas detallada. 


lshw -short    # asi tenemos una lista del hardware mas compacta legible











Aparte tenemos las opciones:



_$ lshw -class disk  # lista todos los controladores de disco
 
_$ lshw -class storage  # lista los controladores de almacenamiento en el sistema

_$ lshw -html >  ~/ruta/hardware.html  # saca la lista por un html

# y por 煤ltimo:

-$ lshw -sanitize       # Filtrado de informacion sensible en la salida, como ip's




lspci

Con lspci podemos ver todos los Buses y dispositivos del sistema. Como el flujo de informaci贸n es bastante extenso podemos acotarlos con diferentes filtros como:


_$ lspci | grep -i network     # para ver las tarjetas de red

_$ lspci | grep VGA              # monitores o tarjetas gr谩ficas

_$ lspci | grep Audio       # para ver los dispositivos de audio




lsusb



lsusb es una utilidad para mostrar informaci贸n sobre buses USB en el sistema y los dispositivos conectados a ellos.



_$ lsusb -v                    # salida detallada

_$ lsusb | grep -i network   # para ver interfaces de red usb.

_$ lsusb -t                # ver los usb en 谩rbol jer谩rquico





lscpu

Se trata de un programa que muestra la informaci贸n acerca de la arquitectura de los CPU presentes en el sistema, mostrando el contenido de /proc/cpuinfo en un formato m谩s f谩cil de leer.





lsmod

Es muy t铆pico en Linux los problemas con ciertos hardwares con mala compatibilidad. El primer paso cuando tenemos alg煤n problema de este tipo es comprobar si el sistema reconoce este hardware, para ello podemos usar lsmod que nos permite comprobar que m贸dulos han sido cargados al inicio y si est谩n siendo utilizados.
Simplemente introducimos lsmod en la terminal:










Si queremos ver mas detalles sobre un m贸dulo en concreto solo tenemos que usar modinfo, por ejemplo en la imagen de arriba para ver el modulo  rfcomm  (os lo se帽alo en rojo) solo tendr铆amos que introducir:



_$ modinfo rfcomm


y tenemos todos los detalles sobre este m贸dulo:





lsof

Con este comando podemos ver los archivos abiertos en el sistema, simplemente con lsof en la terminal nos saldr谩 una lista largu铆sima de datos pero podemos acotarla de varias maneras:


_$ lsof -p PID   # listamos los archivos por PID

_$ lsof -u Usuario  # listamos los datos por usuario

_$ lsof  –i          # para ver la actividad del servicio de red en tiempo real




y cuando terminemos nuestras averiguaciones podemos usar clear para limpiar la terminal :)

Y bueno con esto termino ya el post, me he dejado algunos comandos fuera, pero o no estaban relacionados con el tema o he pensado que igual eran un poco mas dif铆ciles; yo quer铆a que fueran asequibles para todo los usuarios. Si estas leyendo esto y piensas que hay alguno que deber铆a formar parte de esta lista, no dudes y dej谩melo en los comentarios.


No hay comentarios:

Publicar un comentario