В
- funda malunga neTermux:API
- faka iPython kunye ne-nano, kwaye ubhale "Molo, hlabathi!" kwiPython
- funda malunga nezikripthi ze-bash kwaye ubhale iskripthi usebenzisa i-termux: API
- usebenzisa i-bash script, Termux: API kunye nePython siya kubhala inkqubo elula
Ekubeni ngoku siyaqonda ukuba yintoni imiyalelo yokufaka igalelo, ngoko ukusuka kwinqanaba elilandelayo andiyi kuchaza isenzo ngasinye kwiinkcukacha ezinjalo, kodwa apho kunokubakho ubunzima, ndiya kuchaza ngokuqinisekileyo.
Ndisebenzisa iziteketiso kakhulu, ke izifinyezo ezisetyenziswe kweli candelo zibonisiwe apha:
alias updg='apt update && apt upgrade'
alias py='python'
Isicwangciso silungile, ungaqala! Kwaye ke, musa ukulibala malunga "neTab yomlingo" (
Isinyathelo 4
Ukuntywila phantsi kweSigaba: API Rabbit Hole
I-API idityaniswe malini kweli gama kwintliziyo yekhowudi
Ukuba asiyikuchukumisa isihloko se-Termux: API, ke onke amanyathelo ethu angancitshiswa ukuba aphinde abuyele kwincwadana ethile efana ne "Linux for Dummies", njengoko kwaphawulwa ngokufanelekileyo kwizimvo kwinxalenye yokuqala.
Okokuqala, faka i-termux: API kwiMarike ye-Google Play (ayibuhlungu ukuqala kwakhona i-Termux emva koko):
Okulandelayo, kufuneka sifake iphakheji ye-API kwikhonsoli ye-Termux:
updg # Не забываем про alias’ы
apt install termux-api
Ukuzama ndisebenzisa i-Android 5.1.1, ye-Android 7 abanini kufuneka "bakhusele" Termux: API ngokuya kwi-'Settings' > 'Protected Apps' kungenjalo i-API ibiza njenge termux-battery-status
, iya kuxhoma. (I-cm.
Ngoku kuyafaneleka ukuba sijonge ngakumbi amathuba afunyenweyo. Inkcazo yamva nje kunye neyona nkcukacha ye-Termux: API inokufumaneka
Eminye Termux:API imizekelo
- termux-ibhetri-imo
Ibuyisela imeko yebhetri
- termux-ukukhanya
Iseta ukukhanya kwesikrini ukusuka ku-0 ukuya ku-255
- termux-toast
Ibonisa isaziso sexeshana
- termux-totshi
Ibandakanya isibane
- termux-wifi-scaninfo
Ibuyisela ulwazi malunga nokuskena kokugqibela kothungelwano lwe-Wi-Fi
Kulula ukubona ukuba amaxabiso embuyekezo yimitya, izichazi-magama, uluhlu lwezichazi-magama, ngokubanzi, iindidi zedatha iPython esebenza kakuhle nazo, ke inyathelo elilandelayo kukuseta.
Isinyathelo 5
Faka iPython kunye ne-nano
Ukufakela iPython, bhala kwi-terminal:
updg
apt install python
apt install python2
Ngoku sinePython emi-2 neyesi-3 efakiweyo.
Ngelixa ndisebenza kwinqaku, ndifumene omnye umhleli wombhalo we-nano endiwuthande ngaphezu kwe-vim, masiyifake:
apt install nano
Kulula ukuyisebenzisa kune-vim, kwaye i-nano inonxibelelwano olusebenziseka lula. Kwisixhobo se-Android, i-vim isasebenza ngakumbi.
HelloWorld kwiPython eTermux
Ngokubanzi, bekunokwenzeka ukwenza ngaphandle kwale nto, kodwa ukubeka iPython kwi-Termux kwaye ungabhali i-HelloWorld, ngombono wam, kukuziphatha okubi.
Andizibeki usukelo lokufundisa nabani na iPython, ngoko ke abo bangayaziyo banokukhuphela ikhowudi (okanye baqalise ukufunda bebodwa, kuba kukho uncwadi olwaneleyo), kwaye abo baziyo banokwenza into ngokwabo. Kwaye ndiza "phantsi komfanekiso" ndisabonisa indlela yokufaka umbhalo kwi-terminal 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)
Ukuba awuqaphelanga mpazamo ngexesha lenkqubo yokufaka kwaye sele ucinezele u-Enter, ngoko awuyi kukwazi ukuya kumgca ongentla, ukwenza oku, phelisa igalelo ngokucinezela i-Ctrl + D (unokuphazamisa ngokubanzi i-Ctrl + Z) kwaye phinda yonke into ukusuka ekuqaleni. Kuba sisebenzise '>' ke ifayile iya kubhalwa ngaphezulu ngokupheleleyo. Ngesi sizathu, andicebisi ukusebenzisa le ndlela yokufaka ngaphandle kokuba uqinisekile ukuba uya kubhala ikhowudi ngokukhawuleza ngaphandle kweempazamo.
Isinyathelo 6
Izikripthi zeBash
Izikripthi zeBash ziyindlela entle yokwenza umsebenzi wakho weterminal. Ushicilelo yifayile enolwandiso lwe-.sh (ulwandiso alukhethi) luqulathe uluhlu lwemiyalelo yesiphelo, eminye yayo sele siyifundile. Apha
Ngoncedo lwezikripthi, unokwenza ngokuzenzekelayo phantse zonke izenzo ezingabonakaliyo. Masibhale esona script silula se-bash esibonisa ixabiso ukusuka kuguquko alwenzileyo, ndiya kusebenzisa ikati kwakhona, ungasebenzisa umhleli wesicatshulwa oqhelekileyo, kwaye abo bafuna ukuziqeqesha ngakumbi banokusebenzisa 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 # Запускаем выполнение нашего скрипта
Bash iskripthi esine-Termux:API
Masibhale into eyahlukileyo kwi-HelloWorlds edume kakubi, kodwa ingenamsebenzi. Iskripthi sethu siya kuba:
- yenza isicelo se-termux-ibhetri-imeko ye-API
- gcina idatha efunyenweyo kwifayile test.txt
- printa idatha ukusuka kwifayile ukuya kwikhusi
- yenza inkqubo ebhalwe ngaphambili hello-world.py
- bhala idatha efunyenwe kwinkqubo kwifayile test.txt
- printa idatha ukusuka kwifayile ukuya kwikhusi
- hambisa idata kwifayile kwibhodi eqhotyoshwayo
- bonisa imixholo yebhodi eqhotyoshwayo
- bonisa umyalezo ozivelelayo ngedatha esuka kwibhodi eqhotyoshwayo
Okokuqala, yenza ifolda yomsebenzi kwaye ukhuphele i-hello-world.py apho njenge-test.py, yenza i-test.sh kunye neefayile ze-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
Ngoku, nangayiphi na indlela efanelekileyo, bhala iskripthi kwifayile ye-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
Ngoku, ekubeni kwifolda ye-bashscript, sibhala ./test.sh
sibona kwi-terminal kwisixhobo se-Android:
Ke sibhale iskripthi se-bash esicwangcisiweyo. Unokuyihlambulula kunye nemveliso kwi-console yolwazi malunga nokuphunyezwa kwesenzo ngasinye (usebenzisa i-echo), ndiya kushiya oku kubafundi.
Isinyathelo 7
Masenze into eluncedo
Iluncedo ngokwentelekiso
Masiqulunqe imiqathango yereferensi
Emva kokuqaliswa, isicelo kufuneka sibeke umgca ongaqhelekanga kwifayile ekwibhodi eqhotyoshwayo kwaye yazise ngayo ngomyalezo ozivelelayo.
Siza kuthatha iskripthi se-bash njengesiseko, siya kukhupha umgca ongaqhelekanga kwifayile usebenzisa i-subroutine yePython. Masenze isicwangciso somsebenzi weskripthi:
- Qhuba inkqubo engaphantsi
- Dlulisa isiphumo senkqubo engaphantsi kwibhodi eqhotyoshwayo
- Bonisa umyalezo ovelelayo
Masichaze amagama kavimba weefayili kunye neefayile zesicelo:
- rndstr ulawulo kulawulo lwasekhaya
- umthombo - ifayile apho siya kuthatha imigca
- rndstr.py - i-subroutine ebonisa umgca ongakhethiyo ukusuka kwifayile yemvelaphi ukuya kwiconsole
- rndstr.sh - ifayile yeskripthi
Yenza uluhlu lwesicelo kwaye uye kuyo kwaye wenze iifayile apho.
Amanqaku amabini okuqala esicwangciso sombhalo angadibaniswa ngumbhobho, ngenxa yoko, usebenzisa i-Termux: API esiyifumanayo:
#!/bin/bash
python ~/rndstr/rndstr.py | termux-clipboard-set # 1 и 2 пункты плана работы
termux-toast "OK" # 3 пункт. Выводим всплывающее сообщение "ОК"
Kwifayile yemvelaphi, ungabeka nasiphi na isicatshulwa ngokwahlulwe ngokwengqiqo kwimigca, ndigqibe kwelokuba ndibeke aphorisms:
Uluhlu lweefayile zemvelaphi
Искренность не есть истина. Л. Лавель
Терпи и воздерживайся. Эпиктет
Благородно только то, что бескорыстно. Ж. Лабрюйер
Будь благоразумно отважным. Б. Грасиан
Доброта лучше красоты. Г. Гейне
Для великих дел необходимо неутомимое постоянство. Ф.Вольтер
Если ты хочешь, чтобы тебе всегда угождали, прислуживай себе сам. Б. Франклин
Чрезмерная скромность есть не что иное, как скрытая гордость. А. Шенье
Очень умным людям начинают не доверять, если видят их смущение. Ф. Ницше
Бедность указывает на отсутствие средств, а не на отсутствие благородства. Д. Боккаччо
Нужно остерегаться доведения скромности до степени унижения. А. Бакиханов
Кто отказывается от многого, может многое себе позволить. Ж. Шардон
Когда нам платят за благородный поступок, его у нас отнимают. Н. Шамфор
Не получить вовсе - не страшно, но лишиться полученного обидно. Клавдий Элиан
Легче переносить терпеливо то, что нам не дано исправить. Гораций
Устаешь ждать, но насколько хуже было бы, если бы ждать стало нечего. Б. Шоу
Все приходит вовремя, если люди умеют ждать. Ф. Рабле
Своим терпением мы можем достичь большего, чем силой. Э. Берк
Надо уметь переносить то, чего нельзя избежать. М. Монтень
Кто в деле смел, тот слов не устрашится. Софокл
Я не люблю сражаться, я люблю побеждать. Б. Шоу
Затравленный и прижатый к стене кот превращается в тигра. М. Сервантес
Достойный человек не идет по следам других людей. Конфуций
Великий ум проявит свою силу не только в умении мыслить, но и в умении жить. Р. Эмерсон
Слава - товар невыгодный. Стоит дорого, сохраняется плохо. О. Бальзак
Сдержанность и уместность в разговорах стоят больше красноречия. Ф. Бэкон
Кто молчать не умеет, тот и говорить, не способен. Сенека Младший
Хорошие манеры состоят из маленьких жертв. Ф. Честерфилд
Добрый человек не тот, кто умеет делать добро, а тот, кто не умеет делать зла. В. Ключевский
Не произносите бесповоротных суждений! Августин
Ничего слишком! Солон
Sidinga nje ukwenza i-subroutine ekhupha umtya ongaqhelekanga kwifayile yomthombo.
Masibhale i-algorithm ye-subroutine:
- Vula ifayile yemvelaphi
- Ukubala inani lemigca kwifayile evuliweyo
- Vala ifayile (akukho nto yokuyigcina ivuliwe ixesha elongezelelweyo)
- Senza inani elipheleleyo kwinani lemigca yefayile yemvelaphi
- Vula ifayile yemvelaphi
- Sikhupha umgca phantsi kwenani lenani elenziweyo
- Ukuvala ifayile
Sisebenzisa i-algorithm kwiPython (ndibhala phantsi 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 # закрываем файл
Emva kokuba iifayile zenziwe kwaye zibhaliwe, kufuneka unike iimvume zokuphumeza ifayile rndstr.sh
, kwaye wenze i-alias yokuqaliswa ngokukhawuleza.
alias rnst="~/rndstr/rndstr.sh"
Ngoku chwetheza kwi-terminal rnst
siya kufumana i-aphorism engaqhelekanga kwibhodi eqhotyoshwayo, ethi, umzekelo, isetyenziswe kwimbalelwano.
Apha sibhale ubuncinane into eluncedo. Iluncedo ngokwentelekiso.
INdu
Kwinqanaba lokugqibela, andizange ndibonelele nge-screenshots kwaye andizange ndihlalutye ngokucacileyo ezinye zezenzo, ndibhala kuphela iziqulatho zeefayile ukwenzela ukuba abafundi babe nethuba lokusebenza ngokwabo.
Kule "Termux inyathelo ngesinyathelo", ndicinga ukuba kufanelekile ukugqiba. Ewe, la ngamanyathelo okuqala kuphela, kodwa ngoku ungaqhubela phambili ngokwakho.
Ekuqaleni, ndicwangcise ukubonisa kulo mjikelo indlela yokusebenzisa i-nmap, sqlmap, kodwa ngaphandle kwam sele kukho amanqaku amaninzi kwesi sihloko. Ukuba ufuna ukuba ndiqhubeke nomjikelo we "Termux inyathelo ngenyathelo", ke kukho uphando olungezantsi kwaye kwizimvo ungacebisa ukuba yeyiphi enye into onokuthi ubhale ngayo.
Ngabasebenzisi ababhalisiweyo kuphela abanokuthatha inxaxheba kuphando.
Qhubeka "Inyathelo ngenyathelo letermux"?
-
ukuba
-
akukho
2 abasebenzisi bavoti. Akukho zithintelo.
umthombo: www.habr.com