Termux lakang sa lakang (Bahin 2)

В katapusan nga bahin nahibal-an namon ang mga sukaranan nga mga mando sa Termux, nag-set up sa usa ka koneksyon sa SSH sa usa ka PC, nakakat-on kung giunsa paghimo ang mga alias ug nag-install daghang mapuslanon nga mga gamit. Niining higayona kinahanglan namong mopadayon pa, kami uban kanimo:

  • pagkat-on mahitungod sa Termux:API
  • i-install ang Python ug nano, ug isulat ang "Hello, world!" sa Python
  • pagkat-on mahitungod sa bash script ug pagsulat og script gamit ang Termux:API
  • gamit ang usa ka bash script, Termux: API ug Python magsulat kami og usa ka yano nga programa

Tungod kay nahibal-an na naton karon kung unsa ang gibuhat sa gisulod nga mga mando, gikan sa sunod nga lakang dili nako ihulagway ang matag aksyon sa ingon nga detalye, apan kung adunay mga kalisud, siguradong ipasabut nako.

Kanunay kong naggamit ug mga alyas, mao nga ang mga abbreviation nga gigamit niini nga bahin gipakita dinhi:

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

Ang plano andam na, mahimo ka magsugod! Ug siyempre, ayaw kalimti ang bahin sa "magic Tab" (Tan-awa ang Bahin 1).

lakang 4

Pag-dive sa Termux: API Rabbit Hole

API kung unsa kadaghan ang nahiusa sa kini nga pulong alang sa kasingkasing sa coder

Kung dili nato hisgotan ang hilisgutan sa Termux: API, nan ang tanan natong mga lakang mahimong mapakunhod ngadto sa usa ka yano nga pagsaysay pag-usab sa pipila ka brosyur sama sa "Linux for Dummies", ingon sa husto nga namatikdan sa mga komentaryo sa unang bahin.

Una, i-install ang Termux:API gikan sa Google Play Market (dili makadaot kung i-restart ang Termux pagkahuman):

Termux lakang sa lakang (Bahin 2)

Sunod, kinahanglan natong i-install ang API package sa Termux console:

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

Para sa eksperimento naggamit ko og Android 5.1.1, para sa mga tag-iya sa Android 7 kinahanglang "protektahan" ang Termux: API pinaagi sa pag-adto sa 'Settings' > 'Protected Apps' kon dili ang API calls sama sa termux-battery-status, magbitay. (Cm. proyekto wiki)

Karon angay nga tan-awon pag-ayo ang nakuha nga mga oportunidad. Ang pinakabag-o ug labing detalyado nga paghulagway sa Termux:API makita sa proyekto wiki. Akong sulayan ang pagpili sa labing biswal ug makapaikag, nga magtugot kanako nga pun-on ang akong kamot alang sa independente nga trabaho sa umaabot.

Pipila ka mga pananglitan sa Termux: API

  • termux-baterya-status
    Ibalik ang kahimtang sa baterya
    Termux lakang sa lakang (Bahin 2)
  • termux-kahayag
    Nagtakda sa kahayag sa screen gikan sa 0 ngadto sa 255
    Termux lakang sa lakang (Bahin 2)
  • termux-toast
    Nagpakita ug temporaryong pahibalo sa toast
    Termux lakang sa lakang (Bahin 2)
  • termux-sulo
    Naglakip sa flashlight
    Termux lakang sa lakang (Bahin 2)
  • termux-wifi-scaninfo
    Ibalik ang impormasyon bahin sa kataposang pag-scan sa mga Wi-Fi network
    Termux lakang sa lakang (Bahin 2)

Sayon nga makita nga ang mga kantidad sa pagbalik mao ang mga string, mga diksyonaryo, mga lista sa mga diksyonaryo, sa kinatibuk-an, mga tipo sa datos nga maayo ang pagtrabaho sa Python, mao nga ang sunod nga lakang mao ang pag-set up niini.

lakang 5

I-install ang Python ug nano

Aron ma-install ang Python, isulat sa terminal:

updg
apt install python
apt install python2

Kami karon adunay 2 ug 3 nga Python nga na-install.

Samtang nagtrabaho sa artikulo, nadiskobrehan nako ang laing nano text editor nga mas gusto nako kaysa vim, i-install kini:

apt install nano

Kini mas sayon ​​​​gamiton kay sa vim, ug ang nano adunay mas user-friendly nga interface. Sa usa ka Android device, ang vim mas sayon.

HelloWorld sa Python sa Termux

Sa kinatibuk-an, posible nga buhaton nga wala kini nga butang, apan ang pagbutang sa Python sa Termux ug dili pagsulat sa HelloWorld, sa akong opinyon, dili maayo nga pamatasan.

Wala ko magtinguha nga itudlo ang bisan kinsa nga Python, aron kadtong wala mahibal-an mahimo ra nga kopyahon ang code (o magsugod sa pagkat-on sa ilang kaugalingon, tungod kay adunay igo nga literatura), ug kadtong nahibal-an makahimo sa ilang kaugalingon. Ug ako "sa ilawom sa takuban" magpakita gihapon usa ka paagi aron masulod ang teksto sa terminal nga wala’y editor.

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 lakang sa lakang (Bahin 2)

Kung wala ka makamatikod sa usa ka sayup sa panahon sa proseso sa pag-input ug gipugos na ang Enter, nan dili ka makaadto sa linya sa ibabaw, aron mahimo kini, tapuson ang input pinaagi sa pagpindot sa Ctrl + D (sa kasagaran mahimo nimong mabalda ang Ctrl + Z) ug balika ang tanan gikan sa sinugdanan. Tungod kay gigamit namon ang '>' unya ang file hingpit nga ma-overwrite. Tungod niini nga rason, wala ko girekomendar ang paggamit niini nga pamaagi sa pag-input gawas kung sigurado ka nga imong isulat dayon ang code nga walay mga sayup.

lakang 6

Mga script sa Bash

Ang mga script sa Bash usa ka maayong paagi aron ma-automate ang imong trabaho sa terminal. Ang script usa ka file nga adunay extension nga .sh (opsyonal ang extension) nga adunay usa ka hugpong sa mga terminal nga mando, nga ang pipila niini natun-an na namon. Dinhi listahan sa kadaghanan sa mga sugo, ang tanan kinahanglan nga molihok, apan timan-i nga kini usa ka lista alang sa "hamtong" nga Linux, dili Termux, apan ra maayo nga materyal sa mga script sa bash.

Sa tabang sa mga script, mahimo nimong awtomatiko ang hapit tanan nga mga monotonous nga aksyon. Isulat nato ang pinakasimple nga script sa bash nga nagpakita sa bili gikan sa variable nga iyang gibuhat, gamiton ko pag-usab ang pusa, mahimo nimong gamiton ang usa ka normal nga editor sa teksto, ug kadtong gusto nga magbansay sa ilang kaugalingon mahimong mogamit sa 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 lakang sa lakang (Bahin 2)

Bash script gamit ang Termux:API

Magsulat ta og lahi sa bantogan nga HelloWorlds, pero ingon ka walay pulos. Ang among script mao ang:

  1. ipatuman ang termux-battery-status API nga hangyo
  2. i-save ang nadawat nga datos sa file test.txt
  3. print data gikan sa usa ka file ngadto sa screen
  4. ipatuman ang kanhi gisulat nga hello-world.py nga programa
  5. isulat ang datos nga nadawat gikan sa programa ngadto sa file test.txt
  6. print data gikan sa usa ka file ngadto sa screen
  7. pagbalhin data gikan sa file ngadto sa clipboard
  8. ipakita ang sulod sa clipboard
  9. ipakita ang usa ka popup nga mensahe nga adunay data gikan sa clipboard

Una, paghimo og folder para sa trabaho ug kopyaha ang hello-world.py didto isip test.py, paghimo og test.sh ug test.txt nga mga file niini nga folder:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Karon, sa bisan unsang kombenyente nga paagi, isulat ang script sa test.sh file:

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

Karon, naa sa folder sa bashscript, nagsulat kami ./test.sh among naobserbahan sa terminal sa Android device:

Termux lakang sa lakang (Bahin 2)

Mao nga gisulat namon ang giplano nga script sa bash. Mahimo nimo kini matunaw sa output sa console sa kasayuran sa pagpatuman sa matag aksyon (gamit ang echo), ibilin ko kini alang sa mga magbabasa.

lakang 7

Magbuhat ta ug butang nga mapuslanon

Relatibong mapuslanon

Himoon nato ang mga termino sa pakisayran
Pagkahuman sa paglansad, ang aplikasyon kinahanglan magbutang usa ka random nga linya gikan sa file sa clipboard ug ipahibalo kini sa usa ka pop-up nga mensahe.

Magkuha kami og bash script isip basehan, magkuha kami og random nga linya gikan sa file gamit ang Python subroutine. Maghimo kita og script work plan:

  1. Pagdagan subroutine
  2. Ibalhin ang resulta sa subroutine ngadto sa clipboard
  3. Ipakita ang popup nga mensahe

Atong ipasabut ang mga ngalan sa direktoryo ug mga file sa aplikasyon:

  • rndstr folder sa home directory
    • tinubdan - ang file diin kita magkuha og mga linya
    • rndstr.py - usa ka subroutine nga nagpakita ug random nga linya gikan sa source file ngadto sa console
    • rndstr.sh - script file

Paghimo og usa ka direktoryo sa aplikasyon ug ibalhin kini ug paghimo og mga file didto.

Ang unang duha ka punto sa plano sa script mahimong ikombinar sa usa ka pipeline, isip resulta, gamit ang Termux: API atong makuha:

#!/bin/bash

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

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

Sa gigikanan nga file, mahimo nimong ibutang ang bisan unsang teksto nga lohikal nga gibahin sa mga linya, nakahukom ako nga ibutang ang mga aphorismo:

Listahan sa tinubdan file

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

Kinahanglan lang namon nga maghimo usa ka subroutine nga nagkuha usa ka random nga string gikan sa gigikanan nga file.
Atong isulat ang algorithm sa subroutine:

  1. Open source file
  2. Pag-ihap sa gidaghanon sa mga linya sa usa ka bukas nga file
  3. Isira ang file (walay bisan unsa nga magpabilin nga bukas alang sa dugang nga oras)
  4. Naghimo kami og random integer sulod sa gidaghanon sa mga linya sa source file
  5. Open source file
  6. Nagpagawas kami og linya ubos sa gidaghanon sa namugna nga numero
  7. Pagsira sa file

Gipatuman namo ang algorithm sa Python (nagsulat ako ubos sa 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  #  закрываем файл

Human mabuhat ug masulat ang mga file, kinahanglan nimo nga hatagan ang pagtugot sa pagpatuman sa file rndstr.sh, ug paghimo ug alias para sa dali nga paglansad.

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

Karon pag-type sa terminal rnst makakuha kami usa ka random aphorism sa clipboard, nga, pananglitan, mahimong magamit sa mga sulat.

Dinhi among gisulat ang labing menos usa ka butang nga mapuslanon. Relatibong mapuslanon.

Ps

Sa katapusan nga lakang, ako tinuyo nga wala maghatag mga screenshot ug wala mag-analisar sa detalye sa pipila ka mga aksyon, pagsulat lamang sa mga sulod sa mga file aron ang mga magbabasa adunay oportunidad sa pagtrabaho sa ilang kaugalingon.

Niini nga "Termux nga lakang sa lakang", sa akong hunahuna kini takus sa pagtapos. Siyempre, kini ang una nga mga lakang, apan karon mahimo ka nga magpadayon sa imong kaugalingon.

Sa sinugdan, nagplano ko nga ipakita sa kini nga siklo kung giunsa paggamit ang nmap, sqlmap, apan kung wala ako adunay daghang mga artikulo bahin niini nga hilisgutan. Kung gusto nimo nga ipadayon nako ang siklo sa "Termux nga lakang sa lakang", nan adunay usa ka survey sa ubos ug sa mga komento mahimo nimong isugyot kung unsa pa ang isulat.

Ang mga rehistradong tiggamit lamang ang makaapil sa survey. Sign in, walay sapayan.

Ipadayon ang "Termux lakang sa lakang"?

  • Oo

  • Dili

2 user ang nagboto. Walay mga abstention.

Source: www.habr.com

Idugang sa usa ka comment