Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Tutorial:  Sacándole provecho a la consola de comandos.
#1
Saludos amigos, Android es básicamente linux, y éste tiene una poderosa herramienta, la consola de comandos o terminal, que la tenemos un poco olvidada. Desde aquí intentaré hacer una serie de artículos para aprender a aprovecharnos de esta poderosa herramienta y poder exprimir un poco mas a Android.


EL DIRECTORIO  /PROC

El directorio /proc es un directorio extraño, contiene ficheros y mucha información, pero su archivos ocupan 0 bytes. Son archivos virtuales que nos dan información exacta de lo que está ocurriendo en la máquina en ese mismo instante y sobre la configuración de la misma. Son ficheros de solo lectura, excepto en /proc/sys, que también nos dejará tocar algunas configuraciones del Kernel, cosa peligrosa si no sabemos lo que estamos haciendo, aunque son cambios temporales, una vez reinicies la máquina volverá a sus valores originales. Todo esto sirve para hacer pruebas de configuraciones antes de hacer los cambios en los archivos definitivos.

Antes de nada comentar que para ejecutar estos comandos tenemos que ser root y por supuesto un terminal (os lo podeis bajar del Google Play o cualquier aplicación para gestionar la Rom, tipo Rom Tool Box, disponen de terminal).


Para loguearnos como root, abrimos un terminal,tecleamos

Código:
su

Nos habrá cambiado el último símbolo de la línea $ por #, ya tenemos sesión de superusuario en el terminal.




Para saber todos los archivos y directorios que tenemos disponibles en /proc

Código:
ls /proc

Los números corresponden a procesos en ejecución y lo demás son los archivos y directorios disponibles.




Información del uso de la memoria RAM

Código:
cat /proc/meminfo

** Toda la información nos la da en Kilobytes.

MemTotal — Nos informa de la cantidad total de RAM física.

MemFree — Nos informa de la cantidad de RAM física sin utilizar por el sistema.

Buffers — Nos informa de la cantidad de RAM física usada para los archivos de memoria intermedia.

Cached — Nos informa de la cantidad de RAM física usada como memoria caché.

SwapCached — Nos informa de la cantidad de swap usada como memoria caché.

Active — Nos informa de la cantidad total de memoria intermedia o caché de página que está en uso activo. Esta es memoria que recientemente ha sido utilizada y que usualmente no se reclama para otros propósitos.

Inactive — Nos informa de la cantidad total de memoria intermedia o caché de página que está libre y disponible. Esta es memoria que no se ha utilizado recientemente y que se puede reclamar para otros propósitos.

HighTotal y HighFree — Nos informa de la cantidad total de memoria libre, que no está mapeada en el espacio del kernel. El valor HighTotal puede variar dependiendo del tipo de kernel utilizado.

LowTotal y LowFree — Nos informa de la cantidad total de memoria libre implantada directamente en el espacio del kernel. El valor LowTotal puede cambiar dependiendo del tipo de kernel utilizado.

…....




Información de la CPU

Código:
cat /proc/cpuinfo

Nos da la información exacta del procesador que tenemos, su tipo, hardware, su versión, etc.




Información de las particiones.

Código:
cat /proc/partitions

Nos da información sobre la asignación de bloques de particiones.


major — Número principal (major number) del dispositivo con esta partición.

minor — Número menor del dispositivo con esta partición. Separa las particiones en diferentes dispositivos físicos y los relaciona con el número al final del nombre de la partición.

#blocks — Lista el número de bloques de disco físicos contenidos en una partición particular.

Name — Nombre de la partición.




Montajes en uso

Código:
cat /proc/mounts

Este archivo proporciona una lista de todos los montajes en uso por el sistema.
La primera columna especifica el dispositivo que está montado, la segunda revela el punto de montaje, la tercera indica el tipo de sistema de archivos y la cuarta si está montado en modo sólo lectura o sólo escritura.




Para saber los módulos que se han cargado

Código:
cat /proc/modules

Este archivo muestra una lista de todos los módulos cargados en el sistema.

La primera columna contiene el nombre del módulo.

La segunda columna se refiere al tamaño de la memoria del módulo, en bytes.

La tercera columna lista cuántas instancias del módulo están cargadas actualmente. Un valor de cero representa un módulo sin cargar.

La cuarta columna indica si el módulo depende de que otro módulo esté presente para poder funcionar, y lista esos otros módulos.

La quinta columna lista en qué estado de carga se encuentra el módulo: Live, Loading o Unloading son los únicos valores posibles.

La sexta columna lista el desplazamiento de memoria del kernel actual para el módulo cargado. Esta información puede ser útil para propósitos de depuración o para herramientas de perfiles.




Para saber versión de Kernel

Código:
cat /proc/version

Este archivo muestra las versión del kernel de Linux y gcc en uso.




Para sabe dispositivos de caracteres y de bloque configurados

Código:
cat /proc/devices

Este archivo muestra los diversos dispositivos de caracteres y de bloque actualmente configurados (no incluye dispositivos cuyos módulos no están cargados).
La salida de datos desde /proc /devices incluye el número mayor y el nombre del dispositivo y se divide en dos secciones: Dispositivos de caracteres y Dispositivos de bloque.
Los dispositivos de caracteres son similares a los dispositivos de bloque, excepto por dos diferencias básicas:
1.  Los dispositivos de caracteres no requieren buffering. Los dispositivos de bloque disponen de una memoria intermedia o buffer que les permite ordenar las peticiones antes de tratar con ellas. Esto es muy importante para los dispositivos diseñados para guardar información — tales como discos duros — porque la habilidad de ordenar la información antes de escribirla en el dispositivo permite que ésta se almacene de forma más eficiente.
2. Los dispositivos de caracteres envían datos sin un tamaño preconfigurado. Los dispositivos de bloque pueden enviar y recibir información en bloques de un tamaño particular, configurable por dispositivo.




Para saber los tipos del sistema de archivos soportados por el kernel

Código:
cat /proc/filesystems

La primera columna significa si el sistema de archivos está montado en un dispositivo de bloque. Aquellos que comiencen con nodev no están montados en un dispositivo. La segunda columna lista el nombre de los sistemas de archivos soportados.
El comando mount circula por estos sistemas de archivos listados aquí cuando uno no está especificado como un argumento.




Para saber los controladores registrados

Código:
cat /proc/misc

La primera columna es el número menor (minor) de cada dispositivo y la segunda le muestra el controlador en uso.




Para saber el tiempo que lleva encendido el sistema desde el último reinicio

Código:
cat /proc/uptime

El primer número le indica el número total de segundos que el sistema ha estado en funcionamiento. El segundo indica cuánto de ese tiempo, también en segundos, la máquina ha estado inactiva.




..... Hay muchos mas comandos y directorios de donde sacar información del sistema, yo sólo he puesto los que me parecen mas interesantes. en los directorios /proc/net y /proc/sys (hay muchos mas) se puede sacar información sobre las conexiones de internet e información del kernel, respectivamente. Ojo, esto son directorios, para ver la información disponible habría que teclear

Código:
cd /proc/net
ls

para que nos liste los procesos disponibles. Por ejemplo, queremos ver el estado de las conexiones, pues vemos que en el listado se encuentra "netstat", entonces escribimos en la consola

Código:
cat netstat

que nos dará una amplia colección de estadísticas de red, incluyendo la temporización TCP, los cookies enviados y recibidos y mucho más.

Si alguien quiere profundizar mas en el tema aquí os dejo unos enlaces de donde he sacado la información.

http://www.gb.nrao.edu/pubcomputing/redh...files.html
http://www.linuxtotal.com.mx/index.php?c..._admon_016
http://man7.org/linux/man-pages/man5/proc.5.html
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)