Termux sitepe ndi sitepe (Gawo 2)

В gawo lomaliza tidadziwa malamulo oyambira a Termux, kukhazikitsa kulumikizana kwa SSH ku PC, tidaphunzira kupanga ma alias ndikuyika zida zingapo zothandiza. Nthawi ino tikuyenera kupitilira apo, tili nanu:

  • phunzirani za Termux:API
  • khazikitsa Python ndi nano, ndikulemba "Moni, dziko!" mu Python
  • phunzirani za bash scripts ndikulemba script pogwiritsa ntchito Termux: API
  • pogwiritsa ntchito bash script, Termux: API ndi Python tidzalemba pulogalamu yosavuta

Popeza tsopano tikumvetsa zomwe malamulo olowetsamo amachitira, ndiye kuti kuchokera ku sitepe yotsatira sindidzafotokozera chilichonse mwatsatanetsatane, koma pamene pangakhale zovuta, ndidzafotokozera.

Ndimagwiritsa ntchito zilembo zambiri, kotero mawu achidule omwe amagwiritsidwa ntchito mu gawoli akuwonetsedwa apa:

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

Dongosolo lakonzeka, mutha kuyamba! Ndipo, ndithudi, musaiwale za "matsenga Tab" (Onani Gawo 1).

mwatsatane 4

Kudumphira Pansi pa Termux: API Rabbit Hole

API kuchuluka kwa zomwe zaphatikizidwa m'mawu awa pamtima wa coder

Ngati sitikhudza mutu wa Termux: API, ndiye kuti masitepe athu onse atha kuchepetsedwa kukhala kubwereza kosavuta kwa kabukuko monga "Linux for Dummies", monga momwe tafotokozera m'mawu ku gawo loyamba.

Choyamba, yikani Termux: API kuchokera ku Google Play Market (sizikupweteka kuyambitsanso Termux pambuyo pake):

Termux sitepe ndi sitepe (Gawo 2)

Kenako, tiyenera kukhazikitsa phukusi la API mu Termux console:

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

Poyesera ndikugwiritsa ntchito Android 5.1.1, ya eni ake a Android 7 ayenera "kuteteza" Termux: API popita ku 'Zikhazikiko' > 'Mapulogalamu Otetezedwa', apo ayi API imayimba ngati termux-battery-status, adzapachika. (Cm. wiki polojekiti)

Tsopano ndi bwino kuyang'anitsitsa mipata yomwe mwapeza. Kufotokozera kwaposachedwa komanso mwatsatanetsatane kwa Termux:API kungapezeke pa wiki polojekiti. Ndidzayesa kusankha zowoneka bwino komanso zosangalatsa, zomwe zidzandithandize kudzaza dzanja langa pa ntchito yodziimira m'tsogolomu.

Zitsanzo zina za Termux:API

  • termux-battery-status
    Imabwezeranso momwe batire ilili
    Termux sitepe ndi sitepe (Gawo 2)
  • termux-kuwala
    Imayika kuwala kwa chinsalu kuchokera pa 0 mpaka 255
    Termux sitepe ndi sitepe (Gawo 2)
  • termux-toast
    Ikuwonetsa zidziwitso zosakhalitsa
    Termux sitepe ndi sitepe (Gawo 2)
  • termux-muwuni
    Kuphatikizapo tochi
    Termux sitepe ndi sitepe (Gawo 2)
  • termux-wifi-scaninfo
    Imabweza zokhudzana ndi sikani yomaliza yamanetiweki a Wi-Fi
    Termux sitepe ndi sitepe (Gawo 2)

Ndizosavuta kuwona kuti zobwererazo ndi zingwe, mtanthauzira mawu, mindandanda yamadikishonale, ambiri, mitundu ya data yomwe Python imagwira ntchito bwino, ndiye chotsatira ndikuyiyika.

mwatsatane 5

Ikani Python ndi nano

Kuti muyike Python, lembani mu terminal:

updg
apt install python
apt install python2

Tsopano tili ndi 2 ndi 3 Python yoyika.

Ndikugwira ntchito pankhaniyi, ndidapeza mkonzi wina wa nano yemwe ndimakonda kwambiri kuposa vim, tiyeni tiyike:

apt install nano

Ndiosavuta kugwiritsa ntchito kuposa vim, ndipo nano ili ndi mawonekedwe osavuta kugwiritsa ntchito. Pa chipangizo cha Android, vim ndiyosavuta kwambiri.

HelloWorld ku Python ku Termux

Mwambiri, zinali zotheka kuchita popanda chinthuchi, koma kuyika Python mu Termux osati kulemba HelloWorld, m'malingaliro mwanga, ndi makhalidwe oipa.

Sindikufuna kuphunzitsa aliyense Python, kotero kuti omwe sakudziwa akhoza kungotengera kachidindo (kapena kuyamba kuphunzira paokha, popeza pali mabuku okwanira), ndipo omwe amadziwa akhoza kupanga chinachake. Ndipo "monga" ndikuwonetsabe njira yolembera mawu mu terminal popanda mkonzi.

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 sitepe ndi sitepe (Gawo 2)

Ngati simunazindikire cholakwika panthawi yolowera ndikukanikiza kale Lowani, ndiye kuti simungathe kupita pamzere womwe uli pamwambapa, kuti muchite izi, malizani zomwe mwalembazo podina Ctrl + D (mutha kusokoneza Ctrl + Z) ndikubwereza zonse kuyambira pachiyambi. Popeza tidagwiritsa ntchito '>' ndiye kuti fayiloyo idzalembedwanso. Pachifukwa ichi, sindikulangiza kugwiritsa ntchito njira yolowetsayi pokhapokha mutatsimikiza kuti mudzalemba code nthawi yomweyo popanda zolakwika.

mwatsatane 6

Bash scripts

Zolemba za Bash ndi njira yabwino yosinthira ntchito yanu yomaliza. Cholembacho ndi fayilo yokhala ndi .sh extension (kuwonjezako ndikosankha) komwe kuli ndi malamulo othawirako, ena omwe taphunzira kale. Pano mndandanda wa malamulo ambiri, chirichonse chiyenera kugwira ntchito, koma dziwani kuti uwu ndi mndandanda wa "Linux" wamkulu, osati Termux, koma basi zinthu zazikulu pa bash scripts.

Mothandizidwa ndi zolemba, mutha kusintha pafupifupi zochita zonse zopanda pake. Tiyeni tilembe chosavuta kwambiri cha bash script chomwe chikuwonetsa mtengo kuchokera pazosintha zomwe adapanga, ndigwiritsanso ntchito mphaka, mutha kugwiritsa ntchito mkonzi wamba, ndipo iwo omwe akufuna kudziphunzitsa okha angagwiritse ntchito 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 sitepe ndi sitepe (Gawo 2)

Bash script yokhala ndi Termux:API

Tiyeni tilembe china chosiyana ndi ma HelloWorlds odziwika bwino, koma osathandiza. Script yathu idzakhala:

  1. perekani pempho la termux-battery-status API
  2. sungani zomwe mwalandira ku fayilo test.txt
  3. sindikizani data kuchokera ku fayilo kupita pazenera
  4. perekani pulogalamu yolembedwa kale ya hello-world.py
  5. lembani zomwe mwalandira kuchokera ku pulogalamuyi kupita ku fayilo test.txt
  6. sindikizani data kuchokera ku fayilo kupita pazenera
  7. kusuntha deta kuchokera ku fayilo kupita ku bolodi
  8. onetsani zomwe zili pa clipboard
  9. onetsani uthenga wotuluka ndi data kuchokera pa clipboard

Choyamba, pangani chikwatu cha ntchito ndi kukopera hello-world.py pamenepo monga test.py, pangani mafayilo a test.sh ndi test.txt mufoda iyi:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Tsopano, mwanjira iliyonse yabwino, lembani script ku fayilo ya 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

Tsopano, pokhala mu bashscript foda, timalemba ./test.sh timawona mu terminal pa chipangizo cha Android:

Termux sitepe ndi sitepe (Gawo 2)

Chifukwa chake tidalemba zolemba za bash zomwe zidakonzedwa. Mutha kuzichepetsa ndi zomwe zatuluka ku cholumikizira cha chidziwitso pakuchita chilichonse (pogwiritsa ntchito echo), ndikusiyira owerenga.

mwatsatane 7

Tiyeni tichitepo kanthu kothandiza

Zothandiza

Tiyeni tipange mawu ofotokozera
Pambuyo poyambitsa, pulogalamuyo iyenera kuyika mzere wachisawawa kuchokera pafayilo pa clipboard ndikudziwitsa za izo ndi uthenga wotulukira.

Tidzatenga bash script ngati maziko, tidzachotsa mzere wosasintha kuchokera pafayilo pogwiritsa ntchito Python subroutine. Tiyeni tipange dongosolo la ntchito ya script:

  1. Thamangani subroutine
  2. Tumizani zotsatira za subroutine ku clipboard
  3. Onetsani uthenga wotuluka

Tiyeni tifotokoze mayina a chikwatu ndi mafayilo ogwiritsira ntchito:

  • rndstr mu chikwatu chakunyumba
    • gwero - fayilo yomwe tidzatengera mizere
    • rndstr.py - kachigawo kakang'ono kamene kamawonetsa mzere wachisawawa kuchokera ku fayilo yoyambira kupita ku console
    • rndstr.sh - fayilo ya script

Pangani chikwatu cha pulogalamu ndikusunthirako ndikupanga mafayilo pamenepo.

Mfundo ziwiri zoyambirira za dongosolo la script zitha kuphatikizidwa ndi payipi, chifukwa chake, pogwiritsa ntchito Termux: API yomwe timapeza:

#!/bin/bash

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

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

Mu fayilo yoyambira, mutha kuyika zolemba zilizonse zogawanika kukhala mizere, ndinaganiza zoyika ma aphorisms:

Source file listing

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

Timangofunika kupanga subroutine yomwe imatulutsa chingwe chokhazikika kuchokera ku fayilo yoyambira.
Tiyeni tilembe algorithm ya subroutine:

  1. Open source file
  2. Kuwerengera kuchuluka kwa mizere mufayilo yotseguka
  3. Tsekani fayilo (palibe choti mutsegule nthawi yowonjezera)
  4. Timapanga nambala yachisawawa mkati mwa mizere ya fayilo yoyambira
  5. Open source file
  6. Timatulutsa mzere pansi pa chiwerengero cha chiwerengero chopangidwa
  7. Kutseka fayilo

Timagwiritsa ntchito algorithm mu Python (ndikulemba pansi pa 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  #  закрываем файл

Mafayilo akapangidwa ndikulembedwa, muyenera kupereka zilolezo za fayilo rndstr.sh, ndikupanga dzina loti muyambitse mwachangu.

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

Tsopano lembani mu terminal rnst tidzapeza aphorism mwachisawawa pa clipboard, amene, mwachitsanzo, angagwiritsidwe ntchito makalata.

Apa talemba zinthu zothandiza. Zothandiza.

Ps

Mu sitepe yotsiriza, ine mwadala sindinapereke zowonera ndipo sindinafufuze mwatsatanetsatane zina mwazochita, ndikulemba zomwe zili m'mafayilo kuti owerenga akhale ndi mwayi wogwira ntchito okha.

Pa "Termux sitepe ndi sitepe" iyi, ndikuganiza kuti ndiyofunika kutsiriza. Inde, awa ndi masitepe oyambirira okha, koma tsopano mukhoza kupita patsogolo nokha.

Poyamba, ndidakonzekera kuwonetsa m'njirayi momwe mungagwiritsire ntchito nmap, sqlmap, koma popanda ine pali kale zolemba zambiri pamutuwu. Ngati mukufuna kuti ndipitilize kuzungulira kwa "Termux sitepe ndi sitepe", ndiye kuti pali kafukufuku pansipa ndipo mu ndemanga zomwe munganene zomwe mungalembe.

Ogwiritsa ntchito olembetsedwa okha ndi omwe angatenge nawo gawo pa kafukufukuyu. Lowani muakauntichonde.

Kodi mukufuna kupitiriza "Termux sitepe ndi sitepe"?

  • kuti

  • No

Ogwiritsa 2 adavota. Palibe zodziletsa.

Source: www.habr.com

Kuwonjezera ndemanga