Termux talaabo talaabo ah (Qaybta 2)

В qaybta ugu dambeysa Waxaan baranay amarrada aasaasiga ah ee Termux, waxaan dejinay xiriirka SSH ee kombuyutarka, waxaan baranay sida loo abuuro magacyo waxaana ku rakibnay adeegyo badan oo faa'iido leh. Markan waa inaan sii tallaabsannaa, waanu kula joognaa:

  • wax ka baro Termux:API
  • rakib Python iyo nano, oo qor "Hello, adduunyo!" ee Python
  • baro qoraalada bash oo qor qoraal addoo isticmaalaya Termux:API
  • anagoo adeegsanayna qoraalka bash, Termux:API iyo Python waxaan qori doonaa barnaamij fudud

Maaddaama aan hadda fahamnay waxa amarrada soo-gelinta ay sameeyaan, ka dibna laga bilaabo tallaabada xigta anigu ma qeexi doono ficil kasta si faahfaahsan, laakiin halka ay jiraan dhibaatooyin, waxaan si hubaal ah u sharxi doonaa.

Aad baan u isticmaalaa magac-yaqaannada, sidaa darteed soo-gaabista qaybtan ayaa lagu muujiyay halkan:

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

Qorshuhu waa diyaar, waad bilaabi kartaa! Dabcan, ha ilaawin wax ku saabsan "taabka sixirka" (La soco qaybta 1).

talaabo 4

Hoosta Termux-ka: API Rabbit Hole

API intee ayaa ku milmay kelmaddan wadnaha codeeyaha

Haddii aynaan taaban mawduuca Termux: API, dhammaan tillaabooyinkayaga waxaa lagu yarayn karaa si fudud oo ku saabsan buug-yaraha qaarkood sida "Linux for Dummies", sida si sax ah loogu xusay faallooyinka qaybta hore.

Marka hore, ku rakib Termux:API Google Play Market (ma dhaawacayso inaad dib u bilowdo Termux ka dib):

Termux talaabo talaabo ah (Qaybta 2)

Marka xigta, waxaan u baahanahay inaan ku rakibno xirmada API gudaha Termux console:

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

Tijaabada waxaan u isticmaalayaa Android 5.1.1, Android 7 milkiilayaasha waxay u baahan yihiin inay "ilaaliyaan" Termux: API iyagoo aadaya 'Settings'> 'Protected Apps' haddii kale API wuxuu u wacaa sida termux-battery-status, wuu laadlaad doonaa. (Cm. mashruuca wiki)

Hadda waxaa habboon in si dhow loo eego fursadaha la helay. Sifooyinkii ugu dambeeyay uguna faahfaahsan ee Termux:API waxaa laga heli karaa at mashruuca wiki. Waxaan isku dayi doonaa inaan doorto midka ugu muuqaalka iyo xiisaha leh, taas oo ii ogolaan doonta inaan gacantayda ku buuxiyo shaqada madax-bannaan ee mustaqbalka.

Qaar ka mid ah Termux: Tusaalooyinka API

  • termux-battery-xaaladda
    Waxay soo celisaa xaalada batteriga
    Termux talaabo talaabo ah (Qaybta 2)
  • termux-nuur
    Wuxuu dejiyaa iftiinka shaashadda 0 ilaa 255
    Termux talaabo talaabo ah (Qaybta 2)
  • termux-toast
    Muujinaya wargelinta rootiga ku meel gaadhka ah
    Termux talaabo talaabo ah (Qaybta 2)
  • termux-toosh
    Waxaa ku jira toosh
    Termux talaabo talaabo ah (Qaybta 2)
  • termux-wifi-scaninfo
    Soo celisa macluumaadka ku saabsan sawirkii ugu dambeeyay ee shabakadaha Wi-Fi
    Termux talaabo talaabo ah (Qaybta 2)

Way fududahay in la arko in qiyamka soo noqoshada ay yihiin xargaha, qaamuusyada, liisaska qaamuusyada, guud ahaan, noocyada xogta ee Python ay si weyn ula shaqeyso, markaa tallaabada xigta waa in la dejiyo.

talaabo 5

Ku rakib Python iyo nano

Si aad u rakibto Python, ku qor terminalka:

updg
apt install python
apt install python2

Hadda waxaan haynaa 2 iyo 3 Python oo la rakibay.

Intii aan ka shaqeynayey maqaalka, waxaan helay tifaftire kale oo nano qoraal ah oo aan ka helay in ka badan vim, aan rakibno:

apt install nano

Way fududahay in la isticmaalo marka loo eego vim, nano-na waxa uu leeyahay interface saaxiibtinimo ku habboon. Qalabka Android, vim weli wuu ku habboon yahay.

HelloWorld ee Python gudaha Termux

Guud ahaan, waxaa suurtagal ah in la sameeyo shaygan la'aanteed, laakiin ku dhejinta Python ee Termux oo aan qorin HelloWorld, fikradeyda, waa dhaqan xumo.

Anigu nafteyda uma dhigin hadafka ah inaan qofna baro Python, sidaas darteed kuwa aan garanayn waxay si fudud u koobi karaan koodhka (ama bilaabi karaan inay iskood wax u bartaan, maadaama ay jirto suugaan ku filan), kuwa yaqaanna waxay samayn karaan wax iyaga laftooda ah. Oo anigu waxaan "hoos u dhigi doonaa" wali waxaan tusi doonaa habka loo galo qoraalka terminalka iyada oo aan tafatire lahayn.

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 talaabo talaabo ah (Qaybta 2)

Haddii aadan arkin qalad inta lagu guda jiro habka wax gelinta oo aad horeyba u riixday Gelida, markaa ma awoodi doontid inaad aado xariiqda kore, si aad tan u sameyso, ku dhammee gelinta adigoo riixaya Ctrl + D (guud ahaan waad joojin kartaa Ctrl + Z) oo ku celi wax walba bilowgii. Tan iyo markii aan isticmaalnay '>' markaa faylka gabi ahaanba waa la beddeli doonaa. Sababtan awgeed, kuma talinayo isticmaalka habkan gelinta ilaa aad hubiso inaad isla markiiba qori doonto koodka khaladaad la'aan.

talaabo 6

qoraalada bash

Qoraallada Bash waa hab aad u fiican oo otomaatig ah shaqadaada terminalka. Qoraalku waa fayl wata kordhinta .sh (kordhintu waa ikhtiyaari) oo ka kooban amarrada terminal, kuwaas oo qaarkood aan hore u soo barannay. Halkan liiska amarrada ugu badan, Wax walba waa inay shaqeeyaan, laakiin ogow in tani ay tahay liis loogu talagalay "dadka waaweyn" Linux, ma aha Termux, laakiin kaliya wax weyn oo ku saabsan qoraallada bash.

Iyada oo la kaashanayo qoraallada, waxaad otomaatig u noqon kartaa ku dhawaad ​​dhammaan falalka hal-abuurka leh. Aynu qorno qoraalka bashka ugu fudud ee muujinaya qiimaha doorsoomiyaha uu abuuray, waxaan isticmaali doonaa bisad mar kale, waxaad isticmaali kartaa tifaftiraha qoraalka caadiga ah, iyo kuwa si gaar ah u doonaya inay naftooda tababaraan waxay isticmaali karaan 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 talaabo talaabo ah (Qaybta 2)

Farta Bash oo leh Termux:API

Aynu qorno wax ka duwan HelloWorlds-ka caanka ah, laakiin sida aan waxtar lahayn. Qoraalkeena wuxuu noqon doonaa:

  1. fulinta codsiga termux-battery-status API
  2. ku keydi xogta la helay imtixaanka faylka.txt
  3. ka daabac xogta faylka ilaa shaashadda
  4. fulin barnaamijkii hello-world.py oo hore u qoran
  5. ku qor xogta laga helay barnaamijka una qor test file.txt
  6. ka daabac xogta faylka ilaa shaashadda
  7. ka guuri xogta faylka una guuri sabuuradda
  8. soo bandhig waxa ku jira sabuuradda
  9. soo bandhig fariin soo booda ah oo ay ku jirto xog ka timid sabuuradda

Marka hore, samee galka shaqada oo koobi ka samee hello-world.py sida test.py, ku samee test.sh iyo test.txt galka galkan:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Hadda, si kasta oo ku habboon, u qor qoraalka faylka 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

Hadda, isagoo ku jira faylka bashscript, waanu qoraynaa ./test.sh Waxaan ku aragnaa terminalka aaladda Android:

Termux talaabo talaabo ah (Qaybta 2)

Markaa waxaanu ku qornay qoraalka bash-ka ee qorshaysan. Waxaad ku milmi kartaa wax soo saarka konsole macluumaadka ku saabsan fulinta fal kasta (adoo isticmaalaya echo), waxaan u dhaafayaa tan akhristayaasha.

talaabo 7

Aan samayno wax faa'iido leh

Marka la eego faa'iido leh

Aynu samayno shuruudaha tixraaca
Daah-furka ka dib, codsigu waa in uu dhigaa khad random ah oo ka mid ah feylka dushiisa sabuuradda oo uu ku ogeysiiyaa fariin soo booda ah.

Waxaan u qaadan doonaa qoraalka bash-ka sal ahaan, waxaanu ka soo saari doonaa khad random faylka anagoo adeegsanayna Python subroutine. Aynu samayno qorshe shaqo qoraal ah:

  1. Orod subroutine
  2. U wareeji natiijada subrootinka sanduuqa
  3. Muuji fariinta soo booda

Aynu qeexno magacyada hagaha iyo faylasha codsiga:

  • faylka rndstr ee hagaha guriga
    • isha - faylka aan ka qaadan doono khadadka
    • rndstr.py - subroutine oo muujiya xariiq random laga bilaabo faylka isha ilaa console-ka
    • rndstr.sh - faylka qoraalka

Samee hagaha codsiga oo u dhaqaaq oo ku samee faylal halkaas.

Labada dhibcood ee ugu horreeya ee qorshaha qoraalka waxaa lagu dari karaa dhuunta, natiijada, iyadoo la adeegsanayo Termux: API waxaan helnaa:

#!/bin/bash

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

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

Faylka isha, waxaad ku dhejin kartaa qoraal kasta si macquul ah oo loo qaybiyay sadar, waxaan go'aansaday inaan dhigo aphorisms:

Liistada faylka isha

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

Kaliya waxaan u baahanahay inaan abuurno subroutine-ka soo saara xadhig random ka faylka isha.
Aynu qorno algorithm ee subroutine:

  1. Faylka isha furan
  2. Tirinta tirada xariiqyada fayl furan
  3. Xir faylka (ma jiraan wax ku sii furna waqti dheeri ah)
  4. Waxaan abuurnaa tiro random ah oo ku dhex jira tirada khadadka faylka isha
  5. Faylka isha furan
  6. Waxaan soo saareynaa xariiq ka hooseeya tirada lambarka la sameeyay
  7. Xiritaanka faylka

Waxaan ku dhaqan galinaa algorithm-ka Python (waxaan ku hoos qoraa 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  #  закрываем файл

Kadib marka faylasha la sameeyo oo la qoro, waxaad u baahan tahay inaad siiso ogolaanshaha fulinta faylka rndstr.sh, oo samee naaneeso si degdeg ah loo bilaabo.

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

Hadda ku qor terminalka rnst waxaan ku heli doonaa aphorism bakhtiyaa-nasiibka ah ee sanduuqa, kaas oo, tusaale ahaan, loo isticmaali karo waraaqaha.

Halkan waxaan ku qornay ugu yaraan wax faa'iido leh. Marka la eego faa'iido leh.

Sabuurka

Talaabadii ugu dambeysay, si ula kac ah uma aanan bixin shaashadda oo si faahfaahsan uma falanqeyn qaar ka mid ah ficillada, qorista kaliya waxa ku jira faylalka si ay akhristayaasha u helaan fursad ay ku shaqeeyaan.

Tan "Termux tallaabo tallaabo", waxaan qabaa inay mudan tahay in la dhammeeyo. Dabcan, kuwani waa tillaabooyinka ugu horreeya oo keliya, laakiin hadda adiga ayaa hore u socon kara.

Markii hore, waxaan qorsheeyay inaan ku muujiyo wareeggan sida loo isticmaalo nmap, sqlmap, laakiin la'aanteed waxaa jira maqaallo badan oo mawduucan ku saabsan. Haddii aad rabto inaan sii wado wareegga "Termux tallaabo tallaabo", markaa waxaa jira sahan hoose oo faallooyinka waxaad soo jeedin kartaa waxa kale oo aad wax ka qorto.

Isticmaalayaasha diiwaangashan oo keliya ayaa ka qaybqaadan kara sahanka. Soo gal, soo dhawoow.

Sii wad "Termux talaabo talaabo"?

  • Haa

  • No

2 isticmaale ayaa u codeeyay. Ma jiraan wax diiday.

Source: www.habr.com

Add a comment