Termux පියවරෙන් පියවර (2 කොටස)

В අවසාන කොටස අපි Termux හි මූලික විධානයන් සමඟ දැන හඳුනා ගෙන, පරිගණකයකට SSH සම්බන්ධතාවයක් සකසා, අන්වර්ථ නිර්මාණය කරන්නේ කෙසේදැයි ඉගෙන ගෙන ප්‍රයෝජනවත් උපයෝගිතා කිහිපයක් ස්ථාපනය කළෙමු. මෙවර අපට තවත් පියවරක් තැබිය යුතුය, අපි ඔබ සමඟයි:

  • Termux:API ගැන ඉගෙන ගන්න
  • Python සහ nano ස්ථාපනය කර "Hello, world!" ලියන්න. පයිතන් හි
  • බාෂ් ස්ක්‍රිප්ට් ගැන ඉගෙන ගන්න සහ Termux:API භාවිතයෙන් ස්ක්‍රිප්ට් එකක් ලියන්න
  • බාෂ් ස්ක්‍රිප්ට්, Termux:API සහ Python භාවිතයෙන් අපි සරල වැඩසටහනක් ලියන්නෙමු

ආදාන විධානයන් කරන්නේ කුමක්දැයි අපට දැන් වැටහෙන බැවින්, ඊළඟ පියවරේ සිට මම සෑම ක්‍රියාවක්ම එතරම් විස්තරාත්මකව විස්තර නොකරමි, නමුත් දුෂ්කරතා ඇති විය හැකි තැන්, මම අනිවාර්යයෙන්ම පැහැදිලි කරමි.

මම බොහෝ අන්වර්ථ භාවිතා කරමි, එබැවින් මෙම කොටසෙහි භාවිතා කර ඇති කෙටි යෙදුම් මෙහි දැක්වේ:

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

සැලැස්ම සූදානම්, ඔබට ආරම්භ කළ හැකිය! ඇත්ත වශයෙන්ම, "මැජික් ටැබ්" ගැන අමතක නොකරන්න (1 කොටස බලන්න).

පියවරක් 4

Termux පහළට කිමිදීම:API රැබිට් කුහරය

API කේතකරුගේ හදවත සඳහා මෙම වචනයෙහි කොපමණ ප්‍රමාණයක් ඒකාබද්ධ වී තිබේද යන්න

අපි Termux: API මාතෘකාව ස්පර්ශ නොකරන්නේ නම්, අපගේ සියලු පියවරයන් පළමු කොටසට අදහස් දැක්වීමේදී නිවැරදිව සටහන් කර ඇති පරිදි, "Linux for Dummies" වැනි අත් පත්‍රිකාවක් සරල ලෙස නැවත කියවීමකට අඩු කළ හැකිය.

පළමුව, Google Play Market වෙතින් Termux:API ස්ථාපනය කරන්න (ඉන්පසු Termux නැවත ආරම්භ කිරීම හානියක් නොවේ):

Termux පියවරෙන් පියවර (2 කොටස)

ඊළඟට, අපි Termux කොන්සෝලය තුළ API පැකේජය ස්ථාපනය කළ යුතුය:

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

අත්හදා බැලීම් සඳහා මම Android 5.1.1 භාවිතා කරමි, Android 7 හිමිකරුවන්ට 'සැකසීම්' > 'ආරක්ෂිත යෙදුම්' වෙත ගොස් Termux: API "ආරක්ෂා කිරීම" අවශ්‍ය වේ, එසේ නොමැතිනම් API ඇමතුම් termux-battery-status, එල්ලනු ඇත. (සෙමී. ව්‍යාපෘති විකි)

දැන් අත්පත් කරගත් අවස්ථා දෙස සමීපව බැලීම වටී. Termux හි නවතම සහ වඩාත් සවිස්තරාත්මක විස්තරය:API සොයා ගත හැක ව්‍යාපෘති විකි. අනාගතයේදී ස්වාධීන වැඩ සඳහා මගේ අත පිරවීමට ඉඩ සලසන වඩාත්ම දෘශ්ය හා රසවත් තෝරා ගැනීමට මම උත්සාහ කරමි.

සමහර Termux:API උදාහරණ

  • termux-බැටරි-තත්ත්වය
    බැටරියේ තත්වය ලබා දෙයි
    Termux පියවරෙන් පියවර (2 කොටස)
  • termux-දීප්තිය
    තිරයේ දීප්තිය 0 සිට 255 දක්වා සකසයි
    Termux පියවරෙන් පියවර (2 කොටස)
  • termux-toast
    තාවකාලික ටෝස්ට් දැනුම්දීමක් පෙන්වයි
    Termux පියවරෙන් පියවර (2 කොටස)
  • termux-පන්දම්
    ෆ්ලෑෂ් ලයිට් ඇතුළත් වේ
    Termux පියවරෙන් පියවර (2 කොටස)
  • termux-wifi-scaninfo
    Wi-Fi ජාල වල අවසාන ස්කෑන් කිරීම පිළිබඳ තොරතුරු ලබා දෙයි
    Termux පියවරෙන් පියවර (2 කොටස)

ප්‍රතිලාභ අගයන් තන්තු, ශබ්දකෝෂ, ශබ්දකෝෂ ලැයිස්තු, සාමාන්‍යයෙන්, පයිතන් හොඳින් ක්‍රියා කරන දත්ත වර්ග බව දැකීම පහසුය, එබැවින් ඊළඟ පියවර වන්නේ එය සැකසීමයි.

පියවරක් 5

Python සහ nano ස්ථාපනය කරන්න

Python ස්ථාපනය කිරීමට, ටර්මිනලයේ ලියන්න:

updg
apt install python
apt install python2

අපි දැන් 2 සහ 3 Python ස්ථාපනය කර ඇත.

ලිපියේ වැඩ කරන අතරතුර, මම vim වලට වඩා කැමති තවත් නැනෝ පෙළ සංස්කාරකයක් සොයාගත්තා, අපි එය ස්ථාපනය කරමු:

apt install nano

එය vim වලට වඩා භාවිතා කිරීම පහසු වන අතර නැනෝ හි වඩාත් පරිශීලක-හිතකාමී අතුරු මුහුණතක් ඇත. Android උපාංගයක, vim තවමත් වඩාත් පහසු වේ.

HelloWorld in Python at Termux

විශාල වශයෙන්, මෙම අයිතමය නොමැතිව කළ හැකි විය, නමුත් Termux හි Python දැමීම සහ HelloWorld නොලියීම, මගේ මතය අනුව, නරක හැසිරීමකි.

මම කිසිවෙකුට පයිතන් ඉගැන්වීමේ ඉලක්කය මා තබා නොගනිමි, එබැවින් නොදන්නා අයට කේතය පිටපත් කළ හැකිය (නැතහොත් ප්‍රමාණවත් සාහිත්‍යයක් ඇති බැවින් තනිවම ඉගෙනීම ආරම්භ කළ හැකිය), දන්නා අයට තමන්ටම යමක් කළ හැකිය. තවද මම "මුවාවෙන්" තවමත් සංස්කාරකයක් නොමැතිව ටර්මිනලයට පෙළ ඇතුළු කිරීමට ක්‍රමයක් පෙන්වමි.

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 පියවරෙන් පියවර (2 කොටස)

ඔබ ආදාන ක්‍රියාවලියේදී දෝෂයක් නොදැක්කා නම් සහ දැනටමත් Enter ඔබා ඇත්නම්, ඔබට ඉහත පේළියට යාමට නොහැකි වනු ඇත, මෙය සිදු කිරීම සඳහා, Ctrl + D එබීමෙන් ආදානය අවසන් කරන්න (ඔබට සාමාන්‍යයෙන් Ctrl + බාධා කළ හැක. Z) සහ මුල සිට සියල්ල නැවත කරන්න. අපි '>' භාවිතා කළ නිසා ගොනුව සම්පූර්ණයෙන්ම උඩින් ලියයි. මෙම හේතුව නිසා, ඔබ දෝෂයකින් තොරව කේතය වහාම ලියන බවට ඔබට විශ්වාස නම් මිස මෙම ආදාන ක්‍රමය භාවිතා කිරීම මම නිර්දේශ නොකරමි.

පියවරක් 6

bash ස්ක්‍රිප්ට්

Bash scripts යනු ඔබගේ පර්යන්තයේ වැඩ ස්වයංක්‍රීය කිරීමට හොඳ ක්‍රමයකි. ස්ක්‍රිප්ට් යනු .sh දිගුව සහිත ගොනුවකි (දිගුව විකල්ප නොවේ) ටර්මිනල් විධාන කට්ටලයක් අඩංගු වන අතර ඒවායින් සමහරක් අප දැනටමත් අධ්‍යයනය කර ඇත. මෙතන බොහෝ විධාන ලැයිස්තුව, සෑම දෙයක්ම ක්‍රියාත්මක විය යුතුය, නමුත් මෙය "වැඩිහිටි" Linux සඳහා ලැයිස්තුවක් මිස Termux නොව, පමණක් බව සලකන්න. bash ස්ක්‍රිප්ට් පිළිබඳ විශිෂ්ට ද්‍රව්‍ය.

ස්ක්‍රිප්ට් ආධාරයෙන්, ඔබට සියලුම ඒකාකාරී ක්‍රියා ස්වයංක්‍රීය කළ හැකිය. එයා හදපු variable එකෙන් value එක පෙන්නන සරලම bash script එක ලියමු, මම ආයෙත් cat භාවිතා කරන්නම්, ඔයාට සාමාන්‍ය text editor එකක් පාවිච්චි කරන්න පුළුවන්, විශේෂයෙන්ම තමන්ව පුහුණු කරන්න කැමති අයට 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 පියවරෙන් පියවර (2 කොටස)

Termux:API සමඟ බාෂ් ස්ක්‍රිප්ට්

කුප්‍රකට HelloWorlds වලට වඩා වෙනස් දෙයක් ලියමු, නමුත් නිෂ්ඵල දෙයක්. අපගේ පිටපත වනුයේ:

  1. termux-battery-status API ඉල්ලීම ක්‍රියාත්මක කරන්න
  2. ලැබුණු දත්ත test.txt ගොනුවට සුරකින්න
  3. ගොනුවක සිට තිරය වෙත දත්ත මුද්රණය කරන්න
  4. කලින් ලියා ඇති hello-world.py වැඩසටහන ක්‍රියාත්මක කරන්න
  5. වැඩසටහනෙන් ලැබුණු දත්ත test.txt ගොනුවට ලියන්න
  6. ගොනුවක සිට තිරය වෙත දත්ත මුද්රණය කරන්න
  7. ගොනුවෙන් පසුරු පුවරුවට දත්ත ගෙන යන්න
  8. පසුරු පුවරුවේ අන්තර්ගතය පෙන්වන්න
  9. පසුරු පුවරුවෙන් දත්ත සහිත උත්පතන පණිවිඩයක් සංදර්ශන කරන්න

පළමුව, වැඩ සඳහා ෆෝල්ඩරයක් සාදා එහි hello-world.py test.py ලෙස පිටපත් කරන්න, මෙම ෆෝල්ඩරයේ test.sh සහ test.txt ගොනු සාදන්න:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

දැන්, ඕනෑම පහසු ආකාරයකින්, 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

දැන්, bashscript ෆෝල්ඩරයේ සිටීම, අපි ලියන්නෙමු ./test.sh අපි Android උපාංගයේ ටර්මිනලයේ නිරීක්ෂණය කරමු:

Termux පියවරෙන් පියවර (2 කොටස)

ඉතින් අපි සැලසුම් කරපු bash පිටපත ලිව්වා. ඔබට එය එක් එක් ක්‍රියාව ක්‍රියාත්මක කිරීම පිළිබඳ තොරතුරු කොන්සෝලයට ප්‍රතිදානය සමඟ තනුක කළ හැකිය (දෝංකාරය භාවිතයෙන්), මම මෙය පාඨකයන්ට තබමි.

පියවරක් 7

ප්‍රයෝජනවත් දෙයක් කරමු

සාපේක්ෂව ප්රයෝජනවත්

අපි යොමු කොන්දේසි සකස් කරමු
දියත් කිරීමෙන් පසු, යෙදුම ගොනුවෙන් අහඹු රේඛාවක් පසුරු පුවරුවේ තැබිය යුතු අතර උත්පතන පණිවිඩයක් සමඟ ඒ ගැන දැනුම් දිය යුතුය.

අපි පදනමක් ලෙස bash script එකක් ගනිමු, අපි Python subroutine එකක් භාවිතයෙන් ගොනුවකින් අහඹු රේඛාවක් උපුටා ගනිමු. අපි ස්ක්‍රිප්ට් වැඩ සැලැස්මක් සකස් කරමු:

  1. උපසිරැසි ධාවනය කරන්න
  2. උපසිරැසියේ ප්‍රති result ලය ක්ලිප් පුවරුවට මාරු කරන්න
  3. උත්පතන පණිවිඩය පෙන්වන්න

නාමාවලිය සහ යෙදුම් ගොනු වල නම් නිර්වචනය කරමු:

  • නිවාස නාමාවලියෙහි rndstr ෆෝල්ඩරය
    • මූලාශ්රය - අපි රේඛා ගන්නා ගොනුව
    • rndstr.py - ප්‍රභව ගොනුවේ සිට කොන්සෝලය දක්වා අහඹු රේඛාවක් පෙන්වන උප චර්යාවකි
    • rndstr.sh - ස්ක්‍රිප්ට් ගොනුව

යෙදුම් නාමාවලියක් සාදා එයට ගොස් එහි ගොනු සාදන්න.

ස්ක්‍රිප්ට් සැලැස්මේ පළමු කරුණු දෙක නල මාර්ගයක් මගින් ඒකාබද්ධ කළ හැකිය, එහි ප්‍රතිඵලයක් ලෙස Termux: API භාවිතයෙන් අපට ලැබෙන්නේ:

#!/bin/bash

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

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

ප්‍රභව ගොනුවේ, ඔබට ඕනෑම පෙළක් තාර්කිකව රේඛා වලට බෙදිය හැකිය, මම පුරාවෘත්තයන් තැබීමට තීරණය කළෙමි:

මූලාශ්ර ගොනු ලැයිස්තුගත කිරීම

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

අපට අවශ්‍ය වන්නේ මූලාශ්‍ර ගොනුවෙන් අහඹු තන්තුවක් උපුටා ගන්නා subroutine එකක් සෑදීම පමණි.
අපි උපසිරැසියේ ඇල්ගොරිතම ලියන්නෙමු:

  1. විවෘත මූලාශ්‍ර ගොනුව
  2. විවෘත ගොනුවක පේළි ගණන ගණනය කිරීම
  3. ගොනුව වසන්න (එය අමතර කාලයක් සඳහා විවෘතව තැබීමට කිසිවක් නැත)
  4. අපි මූලාශ්‍ර ගොනුවේ රේඛා ගණන තුළ අහඹු පූර්ණ සංඛ්‍යාවක් ජනනය කරමු
  5. විවෘත මූලාශ්‍ර ගොනුව
  6. අපි ජනනය කරන ලද අංකයේ අංකය යටතේ රේඛාවක් ප්රතිදානය කරමු
  7. ගොනුව වසා දැමීම

අපි පයිතන් හි ඇල්ගොරිතම ක්‍රියාත්මක කරන්නෙමු (මම ලියන්නේ පයිතන් 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  #  закрываем файл

ගොනු නිර්මාණය කර ලිවීමෙන් පසුව, ඔබ ගොනු ක්රියාත්මක කිරීමේ අවසර ලබා දිය යුතුය rndstr.sh, සහ ඉක්මන් දියත් කිරීම සඳහා අන්වර්ථයක් සාදන්න.

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

දැන් terminal එකේ ටයිප් කරනවා rnst අපට ක්ලිප් පුවරුවේ අහඹු පුරාවෘත්තයක් ලැබෙනු ඇත, උදාහරණයක් ලෙස ලිපි හුවමාරුවේදී භාවිතා කළ හැකිය.

මෙන්න අපි අවම වශයෙන් ප්රයෝජනවත් දෙයක් ලියා ඇත. සාපේක්ෂව ප්රයෝජනවත්.

ගීතා

අවසාන පියවරේදී, මම හිතාමතාම තිරපිටපත් ලබා නොදුන් අතර සමහර ක්‍රියාවන් සවිස්තරාත්මකව විශ්ලේෂණය නොකළෙමි, ලිපිගොනු වල අන්තර්ගතය පමණක් ලිවීමෙන් කියවන්නන්ට තනිවම වැඩ කිරීමට අවස්ථාව ලැබේ.

මෙම "Termux පියවරෙන් පියවර" මත, එය අවසන් කිරීම වටී යැයි මම සිතමි. ඇත්ත වශයෙන්ම, මේවා පළමු පියවර පමණි, නමුත් දැන් ඔබට ඔබම ඉදිරියට යා හැකිය.

මුලදී, මම මෙම චක්‍රයේ nmap, sqlmap භාවිතා කරන්නේ කෙසේදැයි පෙන්වීමට සැලසුම් කළ නමුත් මා නොමැතිව මෙම මාතෘකාව පිළිබඳ ලිපි රාශියක් දැනටමත් තිබේ. ඔබට මා "Termux පියවරෙන් පියවර" චක්‍රය දිගටම කරගෙන යාමට අවශ්‍ය නම්, පහත සමීක්ෂණයක් ඇති අතර අදහස් දැක්වීමේදී ඔබට තව කුමක් ලිවිය යුතුද යන්න යෝජනා කළ හැකිය.

සමීක්ෂණයට සහභාගී විය හැක්කේ ලියාපදිංචි පරිශීලකයින්ට පමණි. පුරන්නකරුණාකර.

"Termux පියවරෙන් පියවර" දිගටම කරගෙන යන්නද?

  • බව

  • කිසිදු

පරිශීලකයින් 2 දෙනෙක් ඡන්දය දුන්හ. වැලකී සිටීම් නැත.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න