Termux tsikelikely (Fizarana 2)

В ampahany farany Nahafantatra ny baiko fototra Termux izahay, nanangana fifandraisana SSH amin'ny PC, nianatra namorona aliases ary nametraka fitaovana mahasoa maro. Amin'ity indray mitoraka ity dia tsy maintsy mandroso lavitra kokoa izahay, miaraka aminareo izahay:

  • mianatra momba ny Termux: API
  • Andao hametraka Python sy nano, ary soraty koa hoe “Manahoana, izao tontolo izao!” amin'ny Python
  • Mianara momba ny script bash ary manorata script amin'ny fampiasana Termux:API
  • Andao hanoratra programa tsotra mampiasa script bash, Termux: API ary Python

Koa satria azontsika izao ny ataon'ireo baiko miditra, manomboka amin'ny dingana manaraka dia tsy holazaiko amin'ny antsipiriany toy izany ny hetsika tsirairay, fa izay mety hisy fahasahiranana dia hazavaiko tokoa.

Mampiasa anarana matetika aho, ka aseho eto ny fanafohezana ampiasaina amin'ity ampahany ity:

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

Efa vonona ny drafitra, afaka manomboka isika! Ary mazava ho azy, aza adino ny momba ny "Magic Tab" (Jereo ny Fizarana 1).

dingana 4

Diving Down the Termux: API Rabbit Hole

API, ohatrinona amin'ity teny ity ho an'ny fon'ny coder no nitambatra

Raha tsy mikasika ny lohahevitry ny Termux:API isika, dia azo ahena ho amin'ny famerenana tsotsotra ny bokikely sasany toy ny “Linux for Dummies” ny dingana rehetra ataontsika, araka ny voamarika tsara tamin'ny fanehoan-kevitra tamin'ny ampahany voalohany.

Voalohany, andao hametraka Termux:API avy amin'ny Google Play Market (tsy maninona raha averina indray ny Termux):

Termux tsikelikely (Fizarana 2)

Avy eo dia mila mametraka ny fonosana API ao amin'ny console Termux isika:

updg # Не забываем про alias’ы
apt install termux-api

Ho an'ny fanandramana mampiasa Android 5.1.1 aho, ho an'ny tompon'ny Android 7 dia mila 'miaro' ny Termux: API ianao amin'ny alàlan'ny fandehanana any amin'ny Settings> Apps Protected, raha tsy izany dia miantso ny API toy ny termux-battery-status, hivaingana. (Cm. tetikasa wiki)

Fotoana izao hijerena akaiky ny fahaiza-manao azo. Ny famaritana farany sy amin'ny antsipiriany momba ny Termux:API dia hita ao amin'ny tetikasa wiki. Hiezaka ny hisafidy ny hita maso sy mahaliana indrindra aho, izay hamela ahy hihatsara kokoa amin'ny asa mahaleo tena amin'ny ho avy.

Ohatra sasany amin'ny Termux: API

  • termux-battery-status
    Mamerina ny satan'ny bateria
    Termux tsikelikely (Fizarana 2)
  • termux-famirapiratana
    Mametraka ny famirapiratry ny efijery manomboka amin'ny 0 ka hatramin'ny 255
    Termux tsikelikely (Fizarana 2)
  • termux-toast
    Mampiseho fampahafantarana mipoitra vonjimaika
    Termux tsikelikely (Fizarana 2)
  • termux-torch
    Ahitana jiro jiro
    Termux tsikelikely (Fizarana 2)
  • termux-wifi-scaninfo
    Mamerina fampahafantarana momba ny scan farany amin'ny tambajotra Wi-Fi
    Termux tsikelikely (Fizarana 2)

Mora ny mahita fa ny soatoavina miverina dia tady, diksionera, lisitry ny diksionera, amin'ny ankapobeny ny karazana data izay miasa tsara amin'ny Python, ka ny dingana manaraka dia ny fametrahana azy.

dingana 5

Mametraka Python sy nano

Raha hametraka Python dia manorata ao amin'ny terminal:

updg
apt install python
apt install python2

Ankehitriny isika dia manana Python 2 sy 3 napetraka.

Raha niasa tamin'ity lahatsoratra ity aho dia nahita mpamoaka lahatsoratra hafa, nano, izay tiako kokoa noho ny vim, andao hametraka azy:

apt install nano

Mora kokoa ny mampiasa azy noho ny vim, ary ny nano dia manana interface tsara kokoa ho an'ny mpampiasa. Amin'ny fitaovana Android dia mbola mety kokoa ny vim.

HelloWorld amin'ny Python amin'ny Termux

Amin'ny ankapobeny dia azo atao raha tsy misy an'io teboka io, fa ny fametrahana Python amin'ny Termux ary ny tsy fanoratana HelloWorld, araka ny hevitro, dia fomba ratsy.

Ny tanjoko dia ny tsy hampianatra Python na iza na iza, ka izay tsy mahalala dia afaka mandika tsotra izao ny kaody (na manomboka mianatra samirery, soa ihany fa ampy ny literatiora), ary izay mahalala dia afaka manao sokitra ny tenany. Ary amin'ny mangina, hasehoko anao ny fomba hampidirana lahatsoratra ao amin'ny terminal tsy misy tonian-dahatsoratra.

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)

Termux tsikelikely (Fizarana 2)

Raha toa ka tsy nahatsikaritra hadisoana ianao nandritra ny fizotry ny fampidirana ary efa nanindry ny Enter, dia tsy ho afaka mankany amin'ny tsipika etsy ambony ianao; Mba hanaovana izany, farano ny fidirana amin'ny fanindriana Ctrl + D (azonao atao ny manapaka Ctrl + Z) ary avereno ny zava-drehetra hatrany am-piandohana. Koa satria nampiasa '>' ny rakitra dia hosoratana tanteraka. Noho izany antony izany dia tsy manoro hevitra ny fampiasana ity fomba fampidirana ity aho raha tsy azonao antoka fa hanoratra avy hatrany ny kaody tsy misy hadisoana.

dingana 6

Bash scripts

Ny script Bash dia fomba tsara ahafahana mandeha ho azy ny asa terminal. Ny script dia rakitra miaraka amin'ny fanitarana .sh (tsy voatery ny fanitarana) misy andiana baiko terminal, izay efa nodinihinay ny sasany. Eto lisitry ny ankamaroan'ny baiko, tokony hiasa daholo ny zava-drehetra, fa mariho azafady fa lisitra ho an'ny Linux "olon-dehibe" ity, fa tsy ho an'ny Termux, fa fotsiny. Zava-dehibe amin'ny script bash.

Amin'ny fampiasana script dia azonao atao ny manao automatique saika ny hetsika monotonika rehetra. Andao hanoratra script bash tsotra izay mamoaka ny sanda avy amin'ny fari-piainana noforoniny, hampiasa saka indray aho, afaka mampiasa tonian-dahatsoratra mahazatra ianao, ary ireo izay te hampiofana manokana dia afaka mampiasa echo.

cat >test.sh

export str="Привет, Хабр!"
# export создает переменную str
# и присваивает ей значение "Привет, Хабр!"
# Не ставьте пробелы до и после ‘=’

echo $str # Для обращения к переменным перед ними ставится ‘$’

# Ctrl + D

# ./test.sh для запуска скрипта, но если это сделать сейчас то будет ошибка
# для избавления от ошибки нужно сделать файл test.sh исполняемым

chmod +x test.sh
# chmod изменяет права доступа (+ добавить / - убрать)
# ‘+x’ означает что мы делаем файл исполняемым

./test.sh # Запускаем выполнение нашего скрипта

Termux tsikelikely (Fizarana 2)

Bash script miaraka amin'ny Termux: API

Andao hanoratra zavatra hafa amin'ny HelloWorlds malaza, fa tsy misy ilana azy. Ny scripty dia:

  1. manaova fangatahana API termux-battery-status
  2. tehirizo ao amin'ny rakitra test.txt ny angona voaray
  3. asehoy ny angona avy amin'ny rakitra iray eo amin'ny efijery
  4. tanteraho ny programa hello-world.py nosoratana teo aloha
  5. Soraty amin'ny rakitra test.txt ny angona voaray avy amin'ny programa
  6. asehoy ny angona avy amin'ny rakitra iray eo amin'ny efijery
  7. mamindra angona avy amin'ny rakitra iray mankany amin'ny solaitrabe
  8. asehoy ny votoatin'ny takelaka
  9. asehoy hafatra mipoitra miaraka amin'ny angona avy amin'ny takelaka

Voalohany, andao hamorona lahatahiry ho an'ny asa ary handika hello-world.py ao amin'ny test.py, mamorona ny rakitra test.sh sy test.txt ao amin'ity lahatahiry ity:

mkdir bashscript

cat hello-world.py >> bashscript/test.py

cd bashscript/

touch test.sh test.txt # touch создает файлы

chmod +x test.sh

Ankehitriny, amin'ny fomba mety, soraty amin'ny rakitra test.sh ny script:

#!/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

Ao amin'ny lahatahiry bashscript izao no soratanay ./test.sh Hitantsika ao amin'ny terminal amin'ny fitaovana Android:

Termux tsikelikely (Fizarana 2)

Noho izany dia nanoratra ny script bash nomanina izahay. Azonao atao ny manalefaka izany amin'ny famoahana fampahalalana momba ny fanatanterahana ny hetsika tsirairay amin'ny console (mampiasa ny echo), avelao aho ho an'ny mpamaky.

dingana 7

Andao hanao zavatra mahasoa

Mahasoa

Andeha isika hamolavola ny fehezan-dalàna
Aorian'ny fandefasana, ny fampiharana dia tokony hametraka tsipika kisendrasendra avy amin'ny rakitra iray eo amin'ny takelaka ary mampandre momba izany miaraka amin'ny hafatra mipoitra.

Andao haka script bash ho fototra ary hanesorana tsipika kisendrasendra amin'ny rakitra iray mampiasa subroutine Python. Andeha isika hanao drafitra ho an'ny script:

  1. Manaova subroutine
  2. Alefaso any amin'ny solaitrabe ny vokatry ny subroutine
  3. Asehoy ny hafatra mipoitra

Andeha isika hanapa-kevitra momba ny anaran'ny lahatahiry sy ny rakitra fampiharana:

  • rndstr lahatahiry ao amin'ny lahatahiry an-trano
    • loharano - ny rakitra izay haka andalana
    • rndstr.py - subroutine izay manonta tsipika kisendrasendra avy amin'ny rakitra loharano mankany amin'ny console
    • rndstr.sh - rakitra script

Mamorona ny lahatahiry fampiharana izahay ary miditra ao ary mamorona rakitra ao.

Ny teboka roa voalohany amin'ny drafitra script dia azo atambatra amin'ny fantsona iray, vokatr'izany, mampiasa Termux:API azontsika:

#!/bin/bash

python ~/rndstr/rndstr.py | termux-clipboard-set # 1 и 2 пункты плана работы

termux-toast "OK" # 3 пункт. Выводим всплывающее сообщение "ОК"

Ao amin'ny rakitra loharano azonao atao ny mametraka lahatsoratra voazarazara ho andalana, nanapa-kevitra ny hametraka aphorisms aho:

Lisitry ny rakitra loharano

Искренность не есть истина. Л. Лавель
Терпи и воздерживайся. Эпиктет
Благородно только то, что бескорыстно. Ж. Лабрюйер
Будь благоразумно отважным. Б. Грасиан
Доброта лучше красоты. Г. Гейне
Для великих дел необходимо неутомимое постоянство. Ф.Вольтер
Если ты хочешь, чтобы тебе всегда угождали, прислуживай себе сам. Б. Франклин
Чрезмерная скромность есть не что иное, как скрытая гордость. А. Шенье
Очень умным людям начинают не доверять, если видят их смущение. Ф. Ницше
Бедность указывает на отсутствие средств, а не на отсутствие благородства. Д. Боккаччо
Нужно остерегаться доведения скромности до степени унижения. А. Бакиханов
Кто отказывается от многого, может многое себе позволить. Ж. Шардон
Когда нам платят за благородный поступок, его у нас отнимают. Н. Шамфор
Не получить вовсе - не страшно, но лишиться полученного обидно. Клавдий Элиан
Легче переносить терпеливо то, что нам не дано исправить. Гораций
Устаешь ждать, но насколько хуже было бы, если бы ждать стало нечего. Б. Шоу
Все приходит вовремя, если люди умеют ждать. Ф. Рабле
Своим терпением мы можем достичь большего, чем силой. Э. Берк
Надо уметь переносить то, чего нельзя избежать. М. Монтень
Кто в деле смел, тот слов не устрашится. Софокл
Я не люблю сражаться, я люблю побеждать. Б. Шоу
Затравленный и прижатый к стене кот превращается в тигра. М. Сервантес
Достойный человек не идет по следам других людей. Конфуций
Великий ум проявит свою силу не только в умении мыслить, но и в умении жить. Р. Эмерсон
Слава - товар невыгодный. Стоит дорого, сохраняется плохо. О. Бальзак
Сдержанность и уместность в разговорах стоят больше красноречия. Ф. Бэкон
Кто молчать не умеет, тот и говорить, не способен. Сенека Младший
Хорошие манеры состоят из маленьких жертв. Ф. Честерфилд
Добрый человек не тот, кто умеет делать добро, а тот, кто не умеет делать зла. В. Ключевский
Не произносите бесповоротных суждений! Августин
Ничего слишком! Солон

Ny hany tsy maintsy ataontsika dia ny mamorona subroutine izay mamoaka tady kisendrasendra avy amin'ny rakitra loharano.
Andeha hojerentsika ny algorithm amin'ny subroutine:

  1. Sokafy ny rakitra loharano
  2. Manisa ny isan'ny andalana ao anaty rakitra misokatra
  3. Akatona ny rakitra (tsy misy antony tokony hisokatra ela loatra)
  4. Mamorona integer kisendrasendra ao anatin'ny isan'ny andalana ao amin'ny rakitra loharano
  5. Sokafy ny rakitra loharano
  6. Mampiseho tsipika eo ambanin'ny laharan'ny isa novokarina izahay
  7. Famaranana ny rakitra

Andao hampihatra ny algorithm amin'ny Python (manoratra eo ambanin'ny Python 3.7 aho):

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  #  закрываем файл

Aorian'ny famoronana sy fanoratana ireo rakitra dia mila manome zo hamono ny rakitra ianao rndstr.sh, ary mamorona alias ho an'ny fandefasana haingana.

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

Ankehitriny amin'ny fidirana amin'ny terminal rnst hahazo aphorism kisendrasendra eo amin'ny clipboard, izay, ohatra, dia azo ampiasaina amin'ny taratasy.

Ka nanoratra zavatra mahasoa izahay farafaharatsiny. Mahasoa.

Sal

Tamin'ny dingana farany dia ninia tsy nanome pikantsary aho ary tsy nanadihady amin'ny antsipiriany ny hetsika sasany, izay mamaritra ny votoatin'ny rakitra ihany mba hahafahan'ny mpamaky miasa irery.

Heveriko fa mendrika ny hamitana ity "Termux tsikelikely" ity. Mazava ho azy fa ireo no dingana voalohany indrindra, fa ankehitriny ianao dia afaka mandroso samirery.

Tamin'ny voalohany dia nikasa ny hampiseho amin'ity andiany ity ny fomba fampiasana nmap, sqlmap, saingy na tsy misy ahy aza dia efa misy lahatsoratra maro momba ity lohahevitra ity. Raha tianao ny hanohy ny andian-dahatsoratra "Termux tsikelikely", dia misy fanadihadiana eto ambany ary ao amin'ny fanehoan-kevitra dia azonao atao ny manolotra ny zavatra hafa hosoratana.

Ireo mpampiasa voasoratra anarana ihany no afaka mandray anjara amin'ny fanadihadiana. HiditraPlease.

Tohizo ny “Termux tsikelikely”?

  • fa

  • No

Mpampiasa 2 no nifidy. Tsy misy tsy fidiana.

Source: www.habr.com

Add a comment