
En la última parte, nos encontramos con los comandos básicos de Termux, configuramos una conexión SSH con una PC, aprendimos a crear alias e instalamos varias utilidades útiles. Esta vez tenemos que ir aún más lejos, usted y yo:
- aprender sobre Termux: API
- instale Python y nano, y también escriba "¡Hola, mundo!" en pitón
- aprendemos sobre scripts de bash y escribimos un script usando Termux: API
- usando un script bash, Termux: API y Python escribiremos un programa simple
Como ahora entendemos lo que hacen los comandos de entrada, desde el siguiente paso no describiré cada acción con tanto detalle, pero siempre que pueda haber dificultades, definitivamente lo explicaré.
A menudo uso alias, por lo que las abreviaturas utilizadas en esta parte se muestran aquí:
alias updg='apt update && apt upgrade' alias py='python'
El plan está listo, ¡puedes comenzar! Y, por supuesto, no te olvides de la "pestaña mágica" ( ver Parte 1 ).
Paso 4
Zambullirse en la madriguera del conejo Termux: API
API cuánto en esta palabra para el corazón del codificador se fusionó
Si no tocó el tema de Termux: API, todos nuestros pasos podrían reducirse a un simple recuento de algún folleto como Linux for Dummies, como se señaló correctamente en los comentarios a la primera parte.
Primero, instale Termux: API desde Google Play Market (después de que no está de más reiniciar Termux):

A continuación, necesitamos instalar el paquete API en la consola Termux:
updg
Para los experimentos, uso Android 5.1.1, para los propietarios de Android 7 necesito "proteger" Termux: API yendo a Configuración> Aplicaciones protegidas, de lo contrario, las llamadas a la API, como termux-battery-status
, se termux-battery-status
. (Ver proyecto wiki )
Ahora echa un vistazo más de cerca a las capacidades adquiridas. La descripción más reciente y detallada de Termux: API se puede encontrar en la wiki del proyecto . Trataré de elegir el más visual e interesante, lo que me permitirá obtener un trabajo independiente en el futuro.
Algunos ejemplos de Termux: API
- termux-batería-estado
Devuelve el estado de la batería

- termux-brillo
Establece el brillo de la pantalla de 0 a 255

- termux-tostadas
Muestra una notificación emergente temporal

- antorcha termux
Enciende una linterna

- termux-wifi-scaninfo
Devuelve información sobre el último escaneo de redes Wi-Fi

Es fácil ver que los valores devueltos son cadenas, diccionarios, diccionarios, en general, los tipos de datos con los que Python funciona muy bien, por lo que el siguiente paso es instalarlo.
Paso 5
Instalar Python y nano
Para instalar Python, escribimos en la terminal:
updg apt install python apt install python2
Ahora tenemos 2 y 3 Python instalados.
Durante el trabajo en este artículo, descubrí otro editor de nano texto que me gustó más que vim, vamos a instalarlo:
apt install nano
Usarlo es más fácil que vim, y nano tiene una interfaz más fácil de usar. En un dispositivo Android, vim es aún más conveniente.
HelloWorld en Python en Termux
En general, podría prescindir de este elemento, pero poner Python en Termux y no escribir HelloWorld, en mi opinión, mal lenguaje.
Mi objetivo no es enseñarle a nadie Python, por lo que aquellos que no lo saben pueden simplemente copiar el código (o comenzar a aprender por su cuenta, hay suficiente literatura), y aquellos que lo saben pueden hacerlo ellos mismos. Y mostraré "en silencio" una forma de ingresar texto en la terminal sin un editor.
cat >hello-world.py

Si durante el proceso de entrada no notó un error y ya presionó Entrar, no podrá ir a la línea de arriba. Para hacer esto, finalice la entrada presionando Ctrl + D (puede interrumpir Ctrl + Z por completo) y repita todo desde el principio. Como usamos '>', el archivo se reescribirá por completo. Por esta razón, no recomiendo usar este método de entrada si no está seguro de que escribirá el código inmediatamente sin errores.
Paso 6
Guiones Bash
Los scripts de Bash son una excelente manera de automatizar el trabajo con el terminal. El script es un archivo con la extensión .sh (la extensión es opcional) que contiene un conjunto de comandos de terminal, algunos de los cuales ya hemos estudiado. Aquí hay una lista de la mayoría de los comandos , todo debería funcionar, pero tenga en cuenta que esta es una lista para Linux "adulto", y no para Termux, pero esto es simplemente excelente para los scripts de bash .
Usando scripts, puede automatizar casi todas las acciones monótonas. Escribiremos el script bash más simple que muestre el valor de la variable que él creó, usaré cat nuevamente, puede usar un editor de texto normal, y aquellos que quieran entrenarse pueden usar echo.
cat >test.sh export str=", !"

Una persona amable comentó con razón que el comando de
export
es superfluo si la variable se usa dentro del mismo script, ya que llevará la variable al entorno, es decir, la hará accesible fuera del script, ocupando memoria adicional. Por lo tanto, después de ejecutar
test.sh
podemos acceder a la variable
$str
desde la línea de comandos.
Script de Bash con Termux: API
Escribamos algo diferente de los notorios HelloWorlds, pero igual de inútil. Nuestro guión será:
- ejecutar la solicitud de API termux-battery-status
- guardar los datos recibidos en el archivo test.txt
- mostrar datos de un archivo en la pantalla
- ejecute el programa hello-world.py escrito anteriormente
- escriba los datos recibidos del programa en el archivo test.txt
- mostrar datos de un archivo en la pantalla
- transferir datos del archivo al portapapeles
- mostrar el contenido del portapapeles
- mostrar un mensaje emergente con datos del portapapeles
Primero, cree una carpeta para el trabajo y copie hello-world.py allí como test.py, cree los archivos test.sh y test.txt en esta carpeta:
mkdir bashscript cat hello-world.py >> bashscript/test.py cd bashscript/ touch test.sh test.txt
Ahora, de cualquier manera conveniente, escribimos el script en el archivo test.sh:
Ahora, estando en la carpeta bashscript, escribimos ./test.sh que observamos en el terminal en el dispositivo Android:

Entonces escribimos el script de bash planeado. Puede diluirlo con la salida a la consola de información sobre la ejecución de cada acción (usando echo), lo dejaré para los lectores.
Paso 7
Hagamos algo útil
Relativamente útil
Formulamos los términos de referencia.
Después de comenzar, la aplicación debe colocar una línea aleatoria del archivo en el portapapeles y notificar sobre esto con un mensaje emergente.
Tomaremos una secuencia de comandos bash como base, extraeremos una línea aleatoria de un archivo usando una rutina Python. Hagamos un plan de trabajo de script:
- Ejecutar subrutina
- Transfiere el resultado de la rutina al portapapeles
- Mostrar mensaje emergente
Decidiremos los nombres del directorio y los archivos de la aplicación:
- carpeta rndstr en el directorio de inicio
- fuente - el archivo del que tomaremos las líneas
- rndstr.py: una rutina que genera en la consola una línea aleatoria del archivo fuente
- rndstr.sh - archivo de script
Creamos el directorio de la aplicación y, después de haberlo movido, creamos archivos allí.
Los primeros dos puntos del plan de script se pueden combinar con una tubería, como resultado, usando Termux: API obtenemos:
En el archivo fuente puedes poner cualquier texto lógicamente dividido en líneas, decidí poner aforismos:
Listado de archivo sourse . . . , . . . . . . . . , , . . , . . , . . , . . . . , . . , . . - , . , . , , . . , . . , . . , . . , . , . . . . . , . . - . , . . . . , , . . . , , , . . ! !
Nos queda por crear una rutina que extraiga una línea aleatoria del archivo fuente.
Describiremos el algoritmo del subprograma:
- Abre el archivo fuente
- Cuenta el número de líneas en un archivo abierto
- Cerramos el archivo (no hay nada para mantenerlo abierto demasiado tiempo)
- Genere un entero aleatorio dentro del número de líneas del archivo fuente
- Abre el archivo fuente
- Imprimimos una línea debajo del número del número generado
- Cerrar el archivo
Implementamos el algoritmo en Python (escribo en Python 3.7):
import random
Después de crear y grabar los archivos, debe otorgar derechos de ejecución al archivo rndstr.sh
y crear un alias para un inicio rápido.
alias rnst="~/rndstr/rndstr.sh"
Ahora ingresando rnst
en la terminal rnst
obtenemos un aforismo aleatorio en el portapapeles, que, por ejemplo, puede usarse en correspondencia.
Entonces escribimos al menos algo útil. Relativamente útil.
PS
En el último paso, deliberadamente no hice capturas de pantalla y no analicé en detalle algunas de las acciones, escribiendo solo el contenido de los archivos para que los lectores tuvieran la oportunidad de trabajar por su cuenta.
Inicialmente, planeé mostrar en este ciclo cómo usar nmap, sqlmap, pero sin mí ya hay muchos artículos sobre este tema. Si desea que continúe "Termux paso a paso", hay una encuesta a continuación, y en los comentarios puede sugerir sobre qué más escribir.