I-Termux isinyathelo ngesinyathelo (Ingxenye 2)

В ingxenye yokugcina sajwayelana nemiyalelo eyisisekelo ye-Termux, sakha uxhumano lwe-SSH ku-PC, safunda ukwenza ama-alias futhi safaka izinsiza ezimbalwa eziwusizo. Kulokhu kufanele sidlulele phambili, sinawe:

  • funda nge-Termux:API
  • faka iPython ne-nano, bese ubhala "Sawubona, mhlaba!" ePython
  • funda nge-bash scripts bese ubhala iskripthi usebenzisa i-Termux:API
  • sisebenzisa i-bash script, i-Termux: API nePython sizobhala uhlelo olulula

Njengoba manje sesiyaqonda ukuthi imiyalo yokufaka yenzani, khona-ke kusukela esinyathelweni esilandelayo ngeke ngichaze isenzo ngasinye ngemininingwane enjalo, kodwa lapho kungase kube khona ubunzima, ngizochaza ngokuqinisekile.

Ngisebenzisa iziteketiso kakhulu, ngakho-ke izifinyezo ezisetshenziswe kule ngxenye ziboniswa lapha:

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

Uhlelo selulungile, ungaqala! Futhi-ke, ungakhohlwa mayelana ne "Magic Tab" (Bheka Ingxenye 1).

Isinyathelo 4

Ukutshuza Phansi I-Termux:I-API Rabbit Hole

I-API ukuthi kuhlanganiswe malini kuleli gama enhliziyweni yekhoda

Uma singasithinti esihlokweni se-Termux: API, khona-ke zonke izinyathelo zethu zingancishiswa zibe ukuphindaphinda okulula kwencwajana ethi "Linux for Dummies", njengoba kuphawulwe ngokufanelekile kumazwana engxenyeni yokuqala.

Okokuqala, faka i-Termux:API kusuka ku-Google Play Market (akulimazi ukuqala kabusha i-Termux kamuva):

I-Termux isinyathelo ngesinyathelo (Ingxenye 2)

Okulandelayo, sidinga ukufaka iphakheji ye-API kukhonsoli ye-Termux:

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

Ukuze ngizame ngisebenzisa i-Android 5.1.1, ye-Android 7 abanikazi badinga "ukuvikela" I-Temux: I-API ngokuya kokuthi 'Izilungiselelo' > 'Izinhlelo Zokusebenza Ezivikelekile', ngaphandle kwalokho i-API ibiza njengokuthi termux-battery-status, uzolenga. (Cm. iphrojekthi wiki)

Manje kufanelekile ukubhekisisa amathuba atholiwe. Incazelo yakamuva nenemininingwane eminingi ye-Termux:API ingatholakala kokuthi iphrojekthi wiki. Ngizozama ukukhetha okubonakalayo nokuthakazelisa kakhulu, okuzongivumela ukuthi ngigcwalise isandla sami ngomsebenzi ozimele esikhathini esizayo.

Ezinye ze-Termux:API izibonelo

  • termux-ibhethri-isimo
    Ibuyisela isimo sebhethri
    I-Termux isinyathelo ngesinyathelo (Ingxenye 2)
  • termux-ukukhanya
    Isetha ukukhanya kwesikrini kusuka ku-0 kuye ku-255
    I-Termux isinyathelo ngesinyathelo (Ingxenye 2)
  • i-termux-toast
    Ibonisa isaziso se-toast yesikhashana
    I-Termux isinyathelo ngesinyathelo (Ingxenye 2)
  • termux-ithoshi
    Kufaka ithoshi
    I-Termux isinyathelo ngesinyathelo (Ingxenye 2)
  • termux-wifi-scaninfo
    Ibuyisela ulwazi mayelana nokuskena kokugcina kwamanethiwekhi e-Wi-Fi
    I-Termux isinyathelo ngesinyathelo (Ingxenye 2)

Kulula ukubona ukuthi amanani abuyayo ayiyunithi yezinhlamvu, izichazamazwi, izinhlu zezichazamazwi, ngokuvamile, izinhlobo zedatha iPython esebenza kahle ngazo, ngakho-ke isinyathelo esilandelayo ukusetha.

Isinyathelo 5

Faka iPython ne-nano

Ukufaka iPython, bhala kutheminali:

updg
apt install python
apt install python2

Manje sine-2 ne-3 Python efakiwe.

Ngenkathi ngisebenza esihlokweni, ngithole omunye umhleli wombhalo we-nano engangiwuthande kakhulu kune-vim, asiyifake:

apt install nano

Kulula ukuyisebenzisa kune-vim, futhi i-nano ine-interface esebenziseka kalula. Edivayisini ye-Android, i-vim isasebenza kangcono.

HelloWorld in Python at Termux

Ngokuvamile, kwakungenzeka ukwenza ngaphandle kwale nto, kodwa ukubeka i-Python ku-Termux futhi ungabhali i-HelloWorld, ngombono wami, ukuziphatha okubi.

Angizibeki umgomo wokufundisa noma ubani iPython, ngakho-ke labo abangazi bangakwazi ukukopisha ikhodi (noma baqale ukufunda ngokwabo, njengoba kunezincwadi ezanele), futhi labo abaziyo bangakwazi ukwenza okuthile ngokwabo. Futhi "ngizocasha" ngisazobonisa indlela yokufaka umbhalo kutheminali ngaphandle komhleli.

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)

I-Termux isinyathelo ngesinyathelo (Ingxenye 2)

Uma ungazange uqaphele iphutha ngesikhathi senqubo yokufaka futhi usuvele ucindezelwe u-Enter, lapho-ke ngeke ukwazi ukuya kulayini ongenhla, ukwenza lokhu, qeda okokufaka ngokucindezela u-Ctrl + D (ungakwazi ukuphazamisa u-Ctrl + Z) bese uphinda yonke into kusukela ekuqaleni. Njengoba sisebenzise u-'>' ifayela lizocishwa ngokuphelele. Ngalesi sizathu, angincomi ukusebenzisa le ndlela yokufaka ngaphandle uma uqinisekile ukuthi uzobhala ikhodi ngokushesha ngaphandle kwamaphutha.

Isinyathelo 6

Imibhalo ye-Bash

Imibhalo ye-Bash iyindlela enhle yokwenza umsebenzi wakho wesiphetho ngokuzenzakalelayo. Umbhalo uyifayela elinesandiso esithi .sh (isandiso siyakhethwa) esiqukethe isethi yemiyalo yetheminali, eminye yayo esesivele siyifundisile. Lapha uhlu lwemiyalo eminingi, konke kufanele kusebenze, kodwa qaphela ukuthi lolu uhlu lwe-Linux "yabantu abadala", hhayi i-Termux, kodwa nje impahla enhle kuma-bash scripts.

Ngosizo lwemibhalo, ungakwazi ukwenza cishe zonke izenzo eziyisidina. Masibhale umbhalo we-bash olula kakhulu obonisa inani elivela kokuguquguqukayo akudalile, ngizophinda ngisebenzise ikati, ungasebenzisa umhleli wombhalo ojwayelekile, futhi labo abafuna ngokukhethekile ukuziqeqesha bangasebenzisa i-echo.

cat >test.sh

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

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

# Ctrl + D

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

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

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

I-Termux isinyathelo ngesinyathelo (Ingxenye 2)

I-Bash script ene-Termux:API

Masibhale okuhlukile kwe-HelloWorlds edume kabi, kodwa engenamsebenzi. Isikripthi sethu sizoba:

  1. sebenzisa isicelo se-termux-battery-status API
  2. londoloza idatha etholiwe kufayela test.txt
  3. phrinta idatha kusuka efayeleni kuya esikrinini
  4. sebenzisa uhlelo olubhalwe ngaphambilini hello-world.py
  5. bhala idatha etholwe ohlelweni uye kufayela test.txt
  6. phrinta idatha kusuka efayeleni kuya esikrinini
  7. hambisa idatha kusuka efayeleni kuya ebhodini lokunamathisela
  8. bonisa okuqukethwe ebhodini lokunamathisela
  9. bonisa umlayezo ozivelelayo onedatha ebhodini lokunamathisela

Okokuqala, dala ifolda yomsebenzi bese ukopisha okuthi hello-world.py lapho njenge-test.py, dala amafayela e-test.sh nawe-test.txt kule folda:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Manje, nganoma iyiphi indlela elula, bhala umbhalo efayeleni le-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

Manje, njengoba sikufolda ye-bashscript, siyabhala ./test.sh sibona kutheminali kudivayisi ye-Android:

I-Termux isinyathelo ngesinyathelo (Ingxenye 2)

Ngakho-ke sibhale iskripthi se-bash esihleliwe. Ungayihlanza ngokukhiphayo kukhonsoli yolwazi mayelana nokwenziwa kwesenzo ngasinye (usebenzisa i-echo), ngizokushiyela lokhu kubafundi.

Isinyathelo 7

Masenze okuthile okuwusizo

Iwusizo ngokuqhathaniswa

Ake sakhe imigomo yereferensi
Ngemva kokwethulwa, uhlelo lokusebenza kufanele lubeke umugqa ongahleliwe osuka efayeleni ebhodini lokunamathisela futhi lazise ngakho ngomlayezo ozivelelayo.

Sizothatha iskripthi se-bash njengesisekelo, sizokhipha umugqa ongahleliwe efayeleni sisebenzisa i-subroutine ye-Python. Masenze uhlelo lokusebenza lweskripthi:

  1. Qalisa isimiso esingaphansi
  2. Dlulisela umphumela wendlela engaphansi ebhodini lokunamathisela
  3. Bonisa umlayezo we-popup

Ake sichaze amagama ohla lwemibhalo namafayela ohlelo lokusebenza:

  • rndstr ifolda kumkhombandlela wasekhaya
    • umthombo - ifayela esizothatha kulo imigqa
    • rndstr.py - umzila ongaphansi obonisa umugqa ongahleliwe osuka efayeleni eliwumthombo uye kukhonsoli
    • rndstr.sh - ifayela leskripthi

Dala inkomba yohlelo lokusebenza bese uthuthela kuyo futhi udale amafayela lapho.

Amaphuzu amabili okuqala ohlelo lweskripthi angahlanganiswa ngepayipi, njengomphumela, kusetshenziswa i-Termux: API esiyitholayo:

#!/bin/bash

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

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

Efayeleni lomthombo, ungabeka noma yimuphi umbhalo ohlukaniswe ngokunengqondo ube imigqa, nginqume ukubeka ama-aphorisms:

Uhlu lwamafayela angumthombo

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

Sidinga nje ukwakha isimiso esingaphansi esikhipha iyunithi yezinhlamvu engahleliwe efayeleni lomthombo.
Masibhale i-algorithm ye-subroutine:

  1. Vula ifayela lomthombo
  2. Ukubala inani lemigqa efayeleni elivuliwe
  3. Vala ifayela (akukho lutho ozoligcina livuliwe isikhathi esengeziwe)
  4. Senza inombolo engahleliwe phakathi kwenombolo yemigqa yefayela elingumthombo
  5. Vula ifayela lomthombo
  6. Sikhipha umugqa ngaphansi kwenombolo yenombolo ekhiqiziwe
  7. Ivala ifayela

Sisebenzisa i-algorithm kuPython (ngibhala ngaphansi kwePython 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  #  закрываем файл

Ngemuva kokuthi amafayela edaliwe futhi ebhaliwe, udinga ukunikeza izimvume zokusebenzisa ifayela rndstr.sh, futhi udale isiteketiso ukuze uqalise ngokushesha.

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

Manje thayipha kutheminali rnst sizothola i-aphorism engahleliwe ebhodini lokunamathisela, okuthi, isibonelo, isetshenziswe ezincwadini.

Lapha sibhale okungenani okuthile okuwusizo. Iwusizo ngokuqhathaniswa.

IHu

Esinyathelweni sokugcina, angizange nginikeze ngamabomu izithombe-skrini futhi angizange ngihlaziye ngokuningiliziwe ezinye zezenzo, ngibhala kuphela okuqukethwe kwamafayela ukuze abafundi babe nethuba lokusebenza ngokwabo.

Kule "Termux isinyathelo ngesinyathelo", ngicabanga ukuthi kufanelekile ukuqeda. Yebo, lezi yizinyathelo zokuqala kuphela, kodwa manje usungakwazi ukuya phambili ngokwakho.

Ekuqaleni, ngihlele ukukhombisa kulo mjikelezo ukuthi ungasebenzisa kanjani i-nmap, sqlmap, kodwa ngaphandle kwami ​​kukhona kakade izihloko eziningi kulesi sihloko. Uma ufuna ngiqhubeke nomjikelezo othi "Termux step by step", khona-ke kukhona inhlolovo engezansi futhi emazwaneni ungaphakamisa ukuthi yini enye ongabhala ngayo.

Abasebenzisi ababhalisiwe kuphela abangabamba iqhaza kuhlolovo. Ngena ngemvume, wamukelekile.

Qhubeka "I-Termux isinyathelo ngesinyathelo"?

  • Yebo

  • No

2 abasebenzisi abavotile. Azikho izithiyo.

Source: www.habr.com

Engeza amazwana