В
- dysgu am Termux: API
- gosod Python a nano, ac ysgrifennu "Helo, byd!" yn Python
- dysgu am sgriptiau bash ac ysgrifennu sgript gan ddefnyddio Termux:API
- gan ddefnyddio sgript bash, Termux:API a Python byddwn yn ysgrifennu rhaglen syml
Gan ein bod bellach yn deall beth mae'r gorchmynion mewnbwn yn ei wneud, yna o'r cam nesaf ni fyddaf yn disgrifio pob cam gweithredu mor fanwl, ond lle gall fod anawsterau, byddaf yn bendant yn esbonio.
Rwy’n defnyddio arallenwau yn aml, felly mae’r byrfoddau a ddefnyddir yn y rhan hon i’w gweld yma:
alias updg='apt update && apt upgrade'
alias py='python'
Mae'r cynllun yn barod, gallwch chi ddechrau! Ac wrth gwrs, peidiwch ag anghofio am y "tab hud" (
Cam 4
Plymio i Lawr y Termux:API Rabbit Hole
API faint sydd wedi uno yn y gair hwn ar gyfer calon y codwr
Os na fyddwn yn cyffwrdd â phwnc Termux: API, yna gallai ein holl gamau gael eu lleihau i ailadroddiad syml o lyfryn fel "Linux for Dummies", fel y nodwyd yn gywir yn y sylwadau i'r rhan gyntaf.
Yn gyntaf, gosodwch Termux:API o'r Google Play Market (nid yw'n brifo ailgychwyn Termux wedyn):
Nesaf, mae angen i ni osod y pecyn API yn y consol Termux:
updg # Не забываем про alias’ы
apt install termux-api
Ar gyfer arbrofi rwy'n defnyddio Android 5.1.1, ar gyfer Android 7 mae angen i berchnogion "amddiffyn" Termux: API trwy fynd i 'Settings'> 'Protected Apps', fel arall mae galwadau API fel termux-battery-status
, Bydd hongian. (Cm.
Nawr mae'n werth edrych yn agosach ar y cyfleoedd a gafwyd. Mae'r disgrifiad diweddaraf a mwyaf manwl o Termux:API i'w weld yn
Rhai enghreifftiau Termux: API
- termux-batri-statws
Yn dychwelyd cyflwr y batri
- termux-disgleirdeb
Yn gosod disgleirdeb y sgrin o 0 i 255
- termux-tost
Yn dangos hysbysiad tost dros dro
- termux-torch
Yn cynnwys flashlight
- termux-wifi-scaninfo
Yn dychwelyd gwybodaeth am y sgan diwethaf o rwydweithiau Wi-Fi
Mae'n hawdd gweld bod y gwerthoedd dychwelyd yn llinynnau, geiriaduron, rhestrau o eiriaduron, yn gyffredinol, mathau o ddata y mae Python yn gweithio'n wych gyda nhw, felly y cam nesaf yw ei sefydlu.
Cam 5
Gosod Python a nano
I osod Python, ysgrifennwch yn y derfynell:
updg
apt install python
apt install python2
Bellach mae gennym ni 2 a 3 Python wedi'u gosod.
Wrth weithio ar yr erthygl, darganfyddais olygydd testun nano arall yr oeddwn yn ei hoffi yn fwy na vim, gadewch i ni ei osod:
apt install nano
Mae'n haws ei ddefnyddio na vim, ac mae gan nano ryngwyneb haws ei ddefnyddio. Ar ddyfais Android, mae vim yn dal yn fwy cyfleus.
HelloWorld yn Python yn Termux
Ar y cyfan, roedd yn bosibl gwneud heb yr eitem hon, ond mae rhoi Python yn Termux a pheidio ag ysgrifennu HelloWorld, yn fy marn i, yn moesau drwg.
Nid wyf yn anelu at ddysgu Python i unrhyw un, felly gall y rhai nad ydynt yn gwybod gopïo'r cod (neu ddechrau dysgu ar eu pen eu hunain, gan fod digon o lenyddiaeth), a gall y rhai sy'n gwybod wneud rhywbeth eu hunain. A byddaf yn "dan gochl" yn dal i ddangos ffordd i fewnbynnu testun yn y derfynell heb olygydd.
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)
Os na wnaethoch sylwi ar wall yn ystod y broses fewnbynnu a'ch bod eisoes wedi pwyso Enter, yna ni fyddwch yn gallu mynd i'r llinell uchod, i wneud hyn, terfynwch y mewnbwn trwy wasgu Ctrl + D (yn gyffredinol gallwch dorri ar draws Ctrl + Z) ac ailadrodd popeth o'r dechrau. Gan i ni ddefnyddio '>' yna bydd y ffeil yn cael ei throsysgrifo'n llwyr. Am y rheswm hwn, nid wyf yn argymell defnyddio'r dull mewnbwn hwn oni bai eich bod yn siŵr y byddwch yn ysgrifennu'r cod ar unwaith heb wallau.
Cam 6
Sgriptiau Bash
Mae sgriptiau Bash yn ffordd wych o awtomeiddio'ch gwaith terfynol. Mae'r sgript yn ffeil gyda'r estyniad .sh (mae'r estyniad yn ddewisol) sy'n cynnwys set o orchmynion terfynell, yr ydym eisoes wedi astudio rhai ohonynt. Yma
Gyda chymorth sgriptiau, gallwch awtomeiddio bron pob gweithred undonog. Gadewch i ni ysgrifennu'r sgript bash symlaf sy'n dangos gwerth y newidyn a greodd, byddaf yn defnyddio cath eto, gallwch ddefnyddio golygydd testun arferol, a gall y rhai sydd am hyfforddi eu hunain yn arbennig ddefnyddio adlais.
cat >test.sh
export str="Привет, Хабр!"
# export создает переменную str
# и присваивает ей значение "Привет, Хабр!"
# Не ставьте пробелы до и после ‘=’
echo $str # Для обращения к переменным перед ними ставится ‘$’
# Ctrl + D
# ./test.sh для запуска скрипта, но если это сделать сейчас то будет ошибка
# для избавления от ошибки нужно сделать файл test.sh исполняемым
chmod +x test.sh
# chmod изменяет права доступа (+ добавить / - убрать)
# ‘+x’ означает что мы делаем файл исполняемым
./test.sh # Запускаем выполнение нашего скрипта
Sgript bash gyda Termux:API
Gadewch i ni ysgrifennu rhywbeth gwahanol i'r HelloWorlds drwg-enwog, ond yr un mor ddiwerth. Ein sgript fydd:
- gweithredu'r cais termux-battery-status API
- arbed y data a dderbyniwyd i'r ffeil test.txt
- argraffu data o ffeil i'r sgrin
- gweithredu'r rhaglen hello-world.py a ysgrifennwyd yn flaenorol
- ysgrifennu'r data a dderbyniwyd o'r rhaglen i'r ffeil test.txt
- argraffu data o ffeil i'r sgrin
- symud data o ffeil i clipfwrdd
- arddangos cynnwys y clipfwrdd
- arddangos neges naid gyda data o'r clipfwrdd
Yn gyntaf, creu ffolder ar gyfer gwaith a chopïo hello-world.py yno fel test.py, creu ffeiliau test.sh a test.txt yn y ffolder hwn:
mkdir bashscript
cat hello-world.py >> bashscript/test.py
cd bashscript/
touch test.sh test.txt # touch создает файлы
chmod +x test.sh
Nawr, mewn unrhyw ffordd gyfleus, ysgrifennwch y sgript i'r ffeil 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
Nawr, gan ein bod yn y ffolder bashscript, rydyn ni'n ysgrifennu ./test.sh
rydym yn arsylwi yn y derfynell ar y ddyfais Android:
Felly fe wnaethon ni ysgrifennu'r sgript bash arfaethedig. Gallwch ei wanhau gyda'r allbwn i'r consol gwybodaeth ar gyflawni pob gweithred (gan ddefnyddio adlais), gadawaf hyn i'r darllenwyr.
Cam 7
Gadewch i ni wneud rhywbeth defnyddiol
Cymharol ddefnyddiol
Gadewch i ni lunio'r cylch gorchwyl
Ar ôl ei lansio, dylai'r cais osod llinell ar hap o'r ffeil ar y clipfwrdd a hysbysu amdano gyda neges naid.
Byddwn yn cymryd sgript bash fel sail, byddwn yn tynnu llinell ar hap o ffeil gan ddefnyddio is-reolwaith Python. Gadewch i ni wneud cynllun gwaith sgript:
- Rhedeg is-reolwaith
- Trosglwyddwch ganlyniad yr is-reolwaith i'r clipfwrdd
- Arddangos neges naid
Gadewch i ni ddiffinio enwau'r cyfeiriadur a'r ffeiliau cais:
- ffolder rndstr yn y cyfeiriadur cartref
- ffynhonnell - y ffeil y byddwn yn cymryd llinellau ohoni
- rndstr.py - is-reolwaith sy'n dangos llinell ar hap o'r ffeil ffynhonnell i'r consol
- rndstr.sh - ffeil sgript
Creu cyfeiriadur cais a symud iddo a chreu ffeiliau yno.
Gellir cyfuno dau bwynt cyntaf y cynllun sgript trwy biblinell, o ganlyniad, gan ddefnyddio Termux: API a gawn:
#!/bin/bash
python ~/rndstr/rndstr.py | termux-clipboard-set # 1 и 2 пункты плана работы
termux-toast "OK" # 3 пункт. Выводим всплывающее сообщение "ОК"
Yn y ffeil ffynhonnell, gallwch chi roi unrhyw destun wedi'i rannu'n linellau yn rhesymegol, penderfynais roi aphorisms:
Rhestr ffeil ffynhonnell
Искренность не есть истина. Л. Лавель
Терпи и воздерживайся. Эпиктет
Благородно только то, что бескорыстно. Ж. Лабрюйер
Будь благоразумно отважным. Б. Грасиан
Доброта лучше красоты. Г. Гейне
Для великих дел необходимо неутомимое постоянство. Ф.Вольтер
Если ты хочешь, чтобы тебе всегда угождали, прислуживай себе сам. Б. Франклин
Чрезмерная скромность есть не что иное, как скрытая гордость. А. Шенье
Очень умным людям начинают не доверять, если видят их смущение. Ф. Ницше
Бедность указывает на отсутствие средств, а не на отсутствие благородства. Д. Боккаччо
Нужно остерегаться доведения скромности до степени унижения. А. Бакиханов
Кто отказывается от многого, может многое себе позволить. Ж. Шардон
Когда нам платят за благородный поступок, его у нас отнимают. Н. Шамфор
Не получить вовсе - не страшно, но лишиться полученного обидно. Клавдий Элиан
Легче переносить терпеливо то, что нам не дано исправить. Гораций
Устаешь ждать, но насколько хуже было бы, если бы ждать стало нечего. Б. Шоу
Все приходит вовремя, если люди умеют ждать. Ф. Рабле
Своим терпением мы можем достичь большего, чем силой. Э. Берк
Надо уметь переносить то, чего нельзя избежать. М. Монтень
Кто в деле смел, тот слов не устрашится. Софокл
Я не люблю сражаться, я люблю побеждать. Б. Шоу
Затравленный и прижатый к стене кот превращается в тигра. М. Сервантес
Достойный человек не идет по следам других людей. Конфуций
Великий ум проявит свою силу не только в умении мыслить, но и в умении жить. Р. Эмерсон
Слава - товар невыгодный. Стоит дорого, сохраняется плохо. О. Бальзак
Сдержанность и уместность в разговорах стоят больше красноречия. Ф. Бэкон
Кто молчать не умеет, тот и говорить, не способен. Сенека Младший
Хорошие манеры состоят из маленьких жертв. Ф. Честерфилд
Добрый человек не тот, кто умеет делать добро, а тот, кто не умеет делать зла. В. Ключевский
Не произносите бесповоротных суждений! Августин
Ничего слишком! Солон
Mae angen i ni greu is-reolwaith sy'n tynnu llinyn ar hap o'r ffeil ffynhonnell.
Gadewch i ni ysgrifennu algorithm yr is-reolwaith:
- Ffeil ffynhonnell agored
- Cyfrif nifer y llinellau mewn ffeil agored
- Cau'r ffeil (does dim byd i'w gadw ar agor am amser ychwanegol)
- Rydym yn cynhyrchu cyfanrif ar hap o fewn nifer llinellau'r ffeil ffynhonnell
- Ffeil ffynhonnell agored
- Rydym yn allbynnu llinell o dan rif y rhif a gynhyrchir
- Cau'r ffeil
Rydyn ni'n gweithredu'r algorithm yn Python (rwy'n ysgrifennu o dan 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 # закрываем файл
Ar ôl i'r ffeiliau gael eu creu a'u hysgrifennu, mae angen i chi roi caniatâd gweithredu'r ffeil rndstr.sh
, a chreu alias ar gyfer lansiad cyflym.
alias rnst="~/rndstr/rndstr.sh"
Nawr teipio yn y derfynell rnst
byddwn yn cael aphorism ar hap ar y clipfwrdd, y gellir, er enghraifft, ei ddefnyddio mewn gohebiaeth.
Yma rydym wedi ysgrifennu o leiaf rhywbeth defnyddiol. Cymharol ddefnyddiol.
Ps
Yn y cam olaf, ni wnes i ddarparu sgrinluniau yn fwriadol ac ni wnes i ddadansoddi rhai o'r gweithredoedd yn fanwl, gan ysgrifennu cynnwys y ffeiliau yn unig fel bod darllenwyr yn cael cyfle i weithio ar eu pen eu hunain.
Ar y "Termux cam wrth gam" hwn, rwy'n meddwl ei fod yn werth ei orffen. Wrth gwrs, dim ond y camau cyntaf yw'r rhain, ond nawr gallwch chi symud ymlaen eich hun.
I ddechrau, roeddwn i'n bwriadu dangos yn y cylch hwn sut i ddefnyddio nmap, sqlmap, ond heb i mi mae yna lawer o erthyglau ar y pwnc hwn eisoes. Os ydych chi am i mi barhau â'r cylch “Termux fesul cam”, yna mae arolwg isod ac yn y sylwadau gallwch chi awgrymu beth arall i ysgrifennu amdano.
Dim ond defnyddwyr cofrestredig all gymryd rhan yn yr arolwg.
Parhau "Termux cam wrth gam"?
-
Oes
-
Dim
Pleidleisiodd 2 ddefnyddiwr. Nid oes unrhyw ymatal.
Ffynhonnell: hab.com