Termux Schritt für Schritt (Teil 2)



Im letzten Teil haben wir uns mit den grundlegenden Termux-Befehlen getroffen, eine SSH-Verbindung mit einem PC hergestellt, das Erstellen von Alias ​​gelernt und mehrere nützliche Dienstprogramme installiert. Diesmal müssen wir noch weiter gehen, Sie und ich:


  • Erfahren Sie mehr über Termux: API
  • Installieren Sie Python und Nano und schreiben Sie "Hallo Welt!" in Python
  • Wir lernen Bash-Skripte kennen und schreiben ein Skript mit Termux: API
  • Mit einem Bash-Skript, Termux: API und Python schreiben wir ein einfaches Programm

Da wir jetzt verstehen, was die Eingabebefehle tun, werde ich ab dem nächsten Schritt nicht jede Aktion so detailliert beschreiben, aber wo immer es Schwierigkeiten geben kann, werde ich definitiv erklären.


Ich verwende oft Alias, daher werden die in diesem Teil verwendeten Abkürzungen hier angezeigt:


alias updg='apt update && apt upgrade' alias py='python' 

Der Plan ist fertig, Sie können beginnen! Und vergessen Sie natürlich nicht den „Magic Tab“ ( siehe Teil 1 ).


Schritt 4


Tauchen in das Kaninchenloch Termux: API


API, wie viel in diesem Wort für das Herz des Codierers zusammengeführt


Wenn Sie das Thema Termux: API nicht angesprochen haben, können alle unsere Schritte auf ein einfaches Nacherzählen einer Broschüre wie Linux für Dummies reduziert werden, wie in den Kommentaren zum ersten Teil zu Recht erwähnt wurde.


Installieren Sie zunächst Termux: API aus dem Google Play Market (nachdem es nicht schadet, Termux neu zu starten):



Als Nächstes müssen wir das API-Paket in der Termux-Konsole installieren:


 updg #    alias' apt install termux-api 

Für Experimente verwende ich Android 5.1.1. Für Android 7-Besitzer muss ich Termux: API unter "Einstellungen"> "Geschützte Anwendungen" "schützen". Andernfalls bleiben API-Aufrufe wie der termux-battery-status hängen. (Siehe Projekt-Wiki )


Jetzt werden die erworbenen Fähigkeiten genauer betrachtet. Die neueste und detaillierteste Beschreibung von Termux: API finden Sie im Projekt-Wiki . Ich werde versuchen, das visuellste und interessanteste auszuwählen, damit ich in Zukunft selbstständig arbeiten kann.


Einige Beispiele für Termux: API


  • Termux-Batterie-Status
    Gibt den Batteriestatus zurück

  • Termux-Helligkeit
    Stellt die Bildschirmhelligkeit von 0 bis 255 ein

  • Termux-Toast
    Zeigt eine temporäre Popup-Benachrichtigung an

  • Termux Fackel
    Schaltet eine Taschenlampe ein

  • termux-wifi-scaninfo
    Gibt Informationen zum letzten Scan von Wi-Fi-Netzwerken zurück


Es ist leicht zu erkennen, dass die zurückgegebenen Werte Zeichenfolgen, Wörterbücher, Wörterbücher und im Allgemeinen die Datentypen sind, mit denen Python hervorragend funktioniert. Der nächste Schritt besteht darin, sie zu installieren.


Schritt 5


Installieren Sie Python und Nano


Um Python zu installieren, schreiben wir in das Terminal:


 updg apt install python apt install python2 

Jetzt haben wir 2 und 3 Python installiert.


Während der Arbeit an diesem Artikel entdeckte ich einen anderen Nano-Texteditor, den ich mehr mochte als vim. Lassen Sie uns ihn installieren:


 apt install nano 

Die Verwendung ist einfacher als vim und Nano verfügt über eine benutzerfreundlichere Oberfläche. Auf einem Android-Gerät ist vim noch bequemer.


HelloWorld in Python in Termux


Im Großen und Ganzen könnten Sie auf diesen Artikel verzichten, aber Python in Termux einfügen und HelloWorld meiner Meinung nach nicht schlecht schreiben.


Mein Ziel ist es, niemandem Python beizubringen, damit diejenigen, die es nicht wissen, den Code einfach kopieren können (oder selbst anfangen können, es gibt genug Literatur), und diejenigen, die es wissen, können es selbst tun. Und ich werde "still" eine Möglichkeit zeigen, Text ohne Editor in das Terminal einzugeben.


 cat >hello-world.py #     ( cat 1.txt > 2.txt) #  cat       , #     . str = 'Hello, world!' #   str  "Hello, world!" print (str) #       str # Ctrl + D      (hello-world.py) py hello-world.py #   (py  alias  python) 


Wenn Sie während des Eingabevorgangs keinen Fehler bemerkt haben und bereits die Eingabetaste gedrückt haben, können Sie nicht zur obigen Zeile wechseln. Beenden Sie dazu die Eingabe durch Drücken von Strg + D (Sie können im Allgemeinen Strg + Z beenden) und wiederholen Sie alles von Anfang an. Da wir '>' verwendet haben, wird die Datei komplett neu geschrieben. Aus diesem Grund empfehle ich die Verwendung dieser Eingabemethode nicht, wenn Sie nicht sicher sind, ob Sie den Code sofort fehlerfrei schreiben werden.


Schritt 6


Bash-Skripte


Bash-Skripte sind eine großartige Möglichkeit, die Arbeit mit dem Terminal zu automatisieren. Das Skript ist eine Datei mit der Erweiterung .sh (Erweiterung ist optional), die eine Reihe von Terminalbefehlen enthält, von denen einige bereits untersucht wurden. Hier ist eine Liste der meisten Befehle , alles sollte funktionieren, aber beachten Sie, dass dies eine Liste für "erwachsenes" Linux ist und nicht für Termux, aber dies ist einfach großartig für Bash-Skripte .


Mit Skripten können Sie fast alle monotonen Aktionen automatisieren. Schreiben wir das einfachste Bash-Skript, das den Wert der von ihm erstellten Variablen anzeigt. Ich werde cat erneut verwenden. Sie können einen normalen Texteditor verwenden und diejenigen, die sich selbst trainieren möchten, können echo verwenden.


 cat >test.sh export str=", !" #   str #     ", !" #       '=' # export      (..   ) echo $str #        '$' # Ctrl + D # ./test.sh   ,         #        test.sh  chmod +x test.sh # chmod    (+  / - ) # '+x'       ./test.sh #     


Eine freundliche Person bemerkte zu Recht, dass der export überflüssig ist, wenn die Variable innerhalb desselben Skripts verwendet wird, da sie die Variable in die Umgebung überträgt, dh außerhalb des Skripts zugänglich macht und zusätzlichen Speicher beansprucht. Nach dem Ausführen von test.sh wir daher über die Befehlszeile auf die Variable $str zugreifen.

Bash-Skript mit Termux: API


Schreiben wir etwas anderes als die berüchtigten HelloWorlds, aber genauso nutzlos. Unser Drehbuch lautet:


  1. Führen Sie die Termux-Batteriestatus-API-Anforderung aus
  2. Speichern Sie die empfangenen Daten in der Datei test.txt
  3. Daten aus einer Datei auf dem Bildschirm anzeigen
  4. Führen Sie das zuvor geschriebene Programm hello-world.py aus
  5. Schreiben Sie die vom Programm empfangenen Daten in die Datei test.txt
  6. Daten aus einer Datei auf dem Bildschirm anzeigen
  7. Daten aus der Datei in die Zwischenablage übertragen
  8. Inhalt der Zwischenablage anzeigen
  9. Zeigen Sie eine Popup-Nachricht mit Daten aus der Zwischenablage an

Erstellen Sie zunächst einen Ordner für die Arbeit und kopieren Sie dort hello-world.py als test.py. Erstellen Sie die Dateien test.sh und test.txt in diesem Ordner:


 mkdir bashscript cat hello-world.py >> bashscript/test.py cd bashscript/ touch test.sh test.txt # touch   chmod +x test.sh 

Jetzt schreiben wir das Skript auf bequeme Weise in die Datei test.sh:


 #!/bin/bash #       #! ( ) #          clear #    termux-battery-status > test.txt #  1  2    cat test.txt #  3 python test.py > test.txt #  4  5 cat test.txt #  6 cat test.txt | termux-clipboard-set #  7 # |  .          termux-clipboard-get #  8 termux-clipboard-get | termux-toast #  9 

Jetzt, da wir uns im Bashscript-Ordner befinden, schreiben wir ./test.sh, die wir im Terminal auf dem Android-Gerät beobachten:



Also haben wir das geplante Bash-Skript geschrieben. Sie können es mit der Ausgabe an die Konsole von Informationen über die Ausführung jeder Aktion (mit Echo) verdünnen, ich werde dies den Lesern überlassen.


Schritt 7


Lassen Sie uns etwas Nützliches tun


Relativ nützlich


Wir formulieren die Leistungsbeschreibung
Nach dem Start sollte die Anwendung eine zufällige Zeile aus der Datei in die Zwischenablage einfügen und dies mit einer Popup-Nachricht benachrichtigen.


Wir werden ein Bash-Skript als Basis nehmen und eine zufällige Zeile aus einer Datei mit einer Python-Routine extrahieren. Lassen Sie uns einen Skript-Arbeitsplan erstellen:


  1. Führen Sie das Unterprogramm aus
  2. Übertragen Sie das Ergebnis der Routine in die Zwischenablage
  3. Popup-Nachricht anzeigen

Wir werden über die Namen des Verzeichnisses und der Anwendungsdateien entscheiden:


  • Ordner rndstr im Ausgangsverzeichnis
    • Quelle - die Datei, aus der wir die Zeilen nehmen werden
    • rndstr.py - Eine Routine, die eine zufällige Zeile aus der Quelldatei an die Konsole ausgibt
    • rndstr.sh - Skriptdatei

Wir erstellen das Anwendungsverzeichnis und erstellen dort Dateien, nachdem wir es verschoben haben.


Die ersten beiden Punkte des Skriptplans können daher mithilfe der Termux: API, die wir erhalten, mit einer Pipeline kombiniert werden:


 #!/bin/bash python ~/rndstr/rndstr.py | termux-clipboard-set # 1  2    termux-toast "OK" # 3 .    "" 

In die Quelldatei können Sie jeden Text einfügen, der logisch in Zeilen unterteilt ist. Ich habe beschlossen, Aphorismen einzufügen:


Auflistung der Quelldatei
    . .    .    ,  . .    . .    . .       . .   ,    ,   . .       ,   . .       ,    . .      ,     . .        . .     ,    . .       ,    . .     -  ,    .      ,     .   ,     ,     . .    ,    . .       ,  . .     ,   . .     ,    .     ,   . .          . .         .           ,     . .   -  .  ,  . .         . .     ,   ,  .        . .     ,    ,  ,     . .     !   !  

Es bleibt uns überlassen, eine Routine zu erstellen, die eine zufällige Zeile aus der Quelldatei extrahiert.
Wir werden den Algorithmus des Unterprogramms beschreiben:


  1. Öffnen Sie die Quelldatei
  2. Zählen Sie die Anzahl der Zeilen in einer geöffneten Datei
  3. Wir schließen die Datei (es gibt nichts, was sie zu lange offen hält)
  4. Generieren Sie eine zufällige Ganzzahl innerhalb der Anzahl der Zeilen der Quelldatei
  5. Öffnen Sie die Quelldatei
  6. Wir drucken eine Zeile unter der Nummer der generierten Nummer
  7. Schließen Sie die Datei

Wir implementieren den Algorithmus in Python (ich schreibe unter Python 3.7):


 import random  #      import os  #    path = os.path.abspath(__file__) #       rndstr.py path = os.path.dirname(path)  #      path = path  + '/source' #       source f = open(path)  #   i = 0  #   for str in f: i+=1  #    f.close()  #   j = int(round(i * random.random()))  #      0  i f = open(path)  #   i = 0  #   for str in f:  #       if i == j:  #             print (str, end='')  #             break #       i+=1  #    1 f.close()  #   

Nachdem die Dateien erstellt und aufgezeichnet wurden, müssen Sie der Datei rndstr.sh Ausführungsrechte rndstr.sh und einen Alias ​​für den Schnellstart erstellen.


 alias rnst="~/rndstr/rndstr.sh" 

rnst nun rnst in das Terminal rnst erhalten Sie einen zufälligen Aphorismus in der Zwischenablage, der beispielsweise für die Korrespondenz verwendet werden kann.


Also haben wir wenigstens etwas Nützliches geschrieben. Relativ nützlich.


PS


Im letzten Schritt habe ich absichtlich keine Screenshots gegeben und einige der Aktionen nicht im Detail analysiert. Ich habe nur den Inhalt der Dateien geschrieben, damit die Leser die Möglichkeit hatten, selbstständig zu arbeiten.


Ursprünglich wollte ich zeigen, wie man nmap, sqlmap in dieser Serie verwendet, aber ohne mich gibt es bereits viele Artikel zu diesem Thema. Wenn Sie möchten, dass ich "Termux Schritt für Schritt" fortsetze, finden Sie unten eine Umfrage. In den Kommentaren können Sie vorschlagen, worüber Sie sonst noch schreiben möchten.

Source: https://habr.com/ru/post/de445868/


All Articles