ټرمکس ګام په ګام (2 برخه)

В وروستۍ برخه موږ د لومړني ټرمکس کمانډونو سره آشنا شو ، د کمپیوټر سره د SSH اړیکه جوړه کړه ، د عرفونو رامینځته کولو څرنګوالي زده کړل او ډیری ګټورې اسانتیاوې مو نصب کړې. دا ځل موږ باید نور هم لاړ شو، موږ ستاسو سره یو:

  • د Termux:API په اړه زده کړه
  • راځئ چې پایتون او نانو نصب کړو، او "سلام، نړۍ!" هم ولیکئ. په Python کې
  • د بش سکریپټونو په اړه زده کړه وکړئ او د Termux:API په کارولو سره سکریپټ ولیکئ
  • راځئ چې د bash سکریپټ، Termux:API او Python په کارولو سره یو ساده پروګرام ولیکئ

څرنګه چې موږ اوس پوهیږو چې داخل شوي کمانډونه څه کوي، له بل ګام څخه به زه هر عمل په تفصیل سره بیان نه کړم، مګر که چیرې ستونزې شتون ولري، زه به یې خامخا تشریح کړم.

زه اکثرا عرفونه کاروم، نو په دې برخه کې کارول شوي لنډیزونه دلته ښودل شوي:

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

پلان چمتو دی، موږ پیل کولی شو! او البته، د "جادو ټب" په اړه مه هېروئ (برخه 1 وګورئ).

4 ګام

د ټرمکس لاندې ډوب کول: API Rabbit Hole

API، د کوډر زړه لپاره پدې کلمه کې څومره یوځای شوی

که موږ د Termux:API موضوع ته لاس وانخلو ، نو زموږ ټول ګامونه د ځینې بروشر ساده بیا ویلو ته راټیټ کیدی شي لکه "لینکس د ډمیز لپاره" ، لکه څنګه چې د لومړۍ برخې په نظرونو کې په سمه توګه یادونه شوې.

لومړی، راځئ چې د ګوګل پلی بازار څخه Termux:API نصب کړو (وروسته به د 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 ځینې مثالونه

  • د ټرمکس بیټرۍ حالت
    د بیټرۍ حالت بیرته راګرځوي
    ټرمکس ګام په ګام (2 برخه)
  • termux- روښانتیا
    د سکرین روښانتیا له 0 څخه تر 255 پورې تنظیموي
    ټرمکس ګام په ګام (2 برخه)
  • termux-toast
    د موقتي پاپ اپ خبرتیا ښیې
    ټرمکس ګام په ګام (2 برخه)
  • ټرمکس مشعل
    فلش لائټ شامل دي
    ټرمکس ګام په ګام (2 برخه)
  • termux-wifi-scaninfo
    د Wi-Fi شبکو د وروستي سکین په اړه معلومات بیرته راګرځي
    ټرمکس ګام په ګام (2 برخه)

دا په اسانۍ سره لیدل کیږي چې بیرته ستنیدونکي ارزښتونه تارونه، لغتونه، د لغتونو لیستونه، اساسا د ډیټا ډولونه دي چې پیتون ورسره ښه کار کوي، نو بل ګام دا دی چې دا تنظیم کړئ.

5 ګام

Python او نانو نصب کړئ

د Python نصبولو لپاره، په ټرمینل کې ولیکئ:

updg
apt install python
apt install python2

اوس موږ Python 2 او 3 نصب کړی دی.

په دې مقاله کې د کار کولو پرمهال، ما یو بل متن ایډیټر کشف کړ، نانو، کوم چې ما د ویم څخه ډیر خوښ کړ، راځئ چې دا نصب کړو:

apt install nano

دا د ویم په پرتله کارول اسانه دي، او نانو ډیر کاروونکي دوستانه انٹرفیس لري. په Android وسیله کې ، ویم لاهم خورا اسانه دی.

هیلو ورلډ په ټرمکس کې په پایتون کې

په لویه کچه، دا ممکنه وه چې د دې ټکي پرته ترسره شي، مګر په Termux کې د Python نصب کول او د هیلو ورلډ نه لیکل، زما په نظر، بد اخلاق دي.

زما هدف دا نه دی چې هیچا ته پایتون درس ورکړم، نو هغه څوک چې نه پوهیږي په ساده ډول کوډ کاپي کولی شي (یا پخپله زده کړه پیل کړي، خوشبختانه دلته کافي ادب شتون لري) او هغه څوک چې پوهیږي کولی شي پخپله یو څه مجسم کړي. او په خاموشۍ کې ، زه به تاسو ته د مدیر پرته په ټرمینل کې د متن دننه کولو لاره هم وښیم.

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)

ټرمکس ګام په ګام (2 برخه)

که تاسو د ننوتلو پروسې په جریان کې کومه تېروتنه ونه ګورئ او دمخه یې Enter فشار ورکړئ ، نو تاسو به نشئ کولی پورتنۍ کرښې ته لاړ شئ؛ د دې کولو لپاره ، د Ctrl + D په فشارولو سره ننوتل پای ته ورسول (تاسو حتی د Ctrl + Z مداخله کولی شئ) او له پیل څخه هرڅه تکرار کړئ. ځکه چې موږ '>' کارولی دی فایل به په بشپړ ډول بیا لیکل شي. د دې دلیل لپاره ، زه د دې ان پټ میتود کارولو وړاندیز نه کوم پرته لدې چې تاسو ډاډه یاست چې تاسو به سمدستي پرته له خطا کوډ ولیکئ.

6 ګام

د بش سکریپټ

د بش سکریپټونه ستاسو د ترمینل کار اتومات کولو لپاره عالي لاره ده. سکریپټ یو فایل دی چې د تمدید .sh (توسیع اختیاري دی) د ټرمینل کمانډونو سیټ لري چې ځینې یې موږ دمخه مطالعه کړې. دلته د ډیری امرونو لیست، هر څه باید کار وکړي، مګر مهرباني وکړئ په یاد ولرئ چې دا د "بالغ" لینکس لپاره لیست دی، او نه د Termux لپاره، مګر یوازې په باش سکریپټونو کې عالي توکي.

د سکریپټونو په کارولو سره تاسو کولی شئ نږدې ټول یوازینۍ کړنې اتومات کړئ. راځئ چې یو ساده باش سکریپټ ولیکئ چې د رامینځته شوي متغیر څخه ارزښت تولیدوي ، زه به بیا بلی وکاروم ، تاسو کولی شئ یو نورمال متن ایډیټر وکاروئ ، او هغه څوک چې په ځانګړي توګه غواړي ځان ته روزنه ورکړي کولی شي اکو وکاروي.

cat >test.sh

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

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

# Ctrl + D

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

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

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

ټرمکس ګام په ګام (2 برخه)

بش سکریپټ د Termux:API سره

راځئ چې د بدنام هیلو ورلډز څخه یو څه مختلف ولیکئ ، مګر یوازې بې ګټې. زموږ سکریپټ به دا وي:

  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

اوس د باش سکریپټ فولډر کې پاتې کیدل موږ لیکو ./test.sh موږ د Android وسیله په ټرمینل کې ګورو:

ټرمکس ګام په ګام (2 برخه)

نو موږ پلان شوی باش سکریپټ ولیکه. تاسو کولی شئ دا کنسول ته د هر عمل اجرا کولو په اړه د معلوماتو په ورکولو سره ضعیف کړئ (د ایکو په کارولو سره) ، زه به دا د لوستونکو لپاره پریږدم.

7 ګام

راځئ چې یو څه ګټور کار وکړو

په نسبي ډول ګټور

راځئ چې د حوالې شرایط جوړ کړو
د پیل کولو وروسته، غوښتنلیک باید په کلپ بورډ کې د فایل څخه تصادفي کرښه ځای په ځای کړي او د پاپ اپ پیغام سره پدې اړه خبر کړي.

راځئ چې د اساس په توګه د بش سکریپټ واخلو او د Python سبروټین په کارولو سره د فایل څخه تصادفي لاین راوباسئ. راځئ چې د سکریپټ لپاره یو پلان جوړ کړو:

  1. فرعي روټین چل کړئ
  2. د سبروټین پایله کلپ بورډ ته انتقال کړئ
  3. یو پاپ اپ پیغام ښکاره کړئ

راځئ چې د لارښود او غوښتنلیک فایلونو نومونو په اړه پریکړه وکړو:

  • د کور لارښود کې rndstr فولډر
    • سرچینه - هغه فایل چې موږ به یې لیکې واخلو
    • rndstr.py - یو فرعي روټین چې د سرچینې فایل څخه کنسول ته تصادفي کرښه چاپوي
    • rndstr.sh - سکریپټ فایل

موږ د غوښتنلیک لارښود رامینځته کوو او په هغې کې حرکت کوو او هلته فایلونه رامینځته کوو.

د سکریپټ پلان لومړني دوه ټکي د پایپ لاین لخوا یوځای کیدی شي، په پایله کې، د Termux:API په کارولو سره موږ ترلاسه کوو:

#!/bin/bash

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

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

د سرچینې فایل کې تاسو کولی شئ هر متن په منطقي ډول په لینونو ویشلی شئ، ما پریکړه وکړه چې افوریزمونه واچوم:

د سرچینې فایل لیست کول

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

ټول هغه څه چې موږ یې باید ترسره کړو یو فرعي روټین جوړ کړو چې د سرچینې فایل څخه تصادفي تار استخراجوي.
راځئ چې د سبروټین الګوریتم تشریح کړو:

  1. د سرچینې فایل خلاص کړئ
  2. په خلاص فایل کې د لینونو شمیره
  3. فایل بند کړئ (د ډیر وخت لپاره د خلاص ساتلو لپاره هیڅ معنی نلري)
  4. د سرچینې فایل کې د لینونو په شمیر کې تصادفي عدد رامینځته کړئ
  5. د سرچینې فایل خلاص کړئ
  6. موږ د تولید شوي شمیرې لاندې یوه کرښه ښکاره کوو
  7. د فایل بندول

راځئ چې په Python کې الګوریتم پلي کړو (زه د 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  #  закрываем файл

د فایلونو رامینځته کیدو او لیکلو وروسته ، تاسو اړتیا لرئ فایل ته د اجرا کولو حق ورکړئ rndstr.sh، او د چټک لانچ لپاره یو عرف جوړ کړئ.

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

اوس ټرمینل ته د ننوتلو له لارې rnst موږ به په کلپ بورډ کې یو تصادفي افوریزم ترلاسه کړو، کوم چې د بیلګې په توګه، په لیک کې کارول کیدی شي.

نو موږ لږترلږه یو څه ګټور لیکلي. په نسبي ډول ګټور.

پی ایس

په وروستي ګام کې، ما په عمدي توګه د سکرین شاټونه چمتو نه کړل او ځینې کړنې یې په تفصیل سره تحلیل نه کړې، یوازې د فایلونو مینځپانګې بیانوي ترڅو لوستونکي په خپله د کار کولو فرصت ولري.

زما په اند دا د دې "ټرمکس ګام په ګام" پای ته رسولو ارزښت لري. البته، دا یوازې لومړني ګامونه دي، مګر اوس تاسو کولی شئ په خپله پرمخ لاړ شئ.

په پیل کې ، ما پلان درلود چې پدې لړۍ کې وښیم چې څنګه nmap ، sqlmap وکاروم ، مګر حتی زما پرته پدې موضوع لا دمخه ډیری مقالې شتون لري. که تاسو غواړئ چې زه د "ټرمکس ګام په ګام" لړۍ ته دوام ورکړم، نو لاندې یوه سروې ده او په نظرونو کې تاسو کولی شئ وړاندیز وکړئ چې نور څه ولیکئ.

یوازې راجستر شوي کاروونکي کولی شي په سروې کې برخه واخلي. ننوزئمهرباني وکړئ

"ټرمکس ګام په ګام" ته دوام ورکړئ؟

  • چې

  • نه

2 کاروونکو رایه ورکړه. هیڅ ممانعت شتون نلري.

سرچینه: www.habr.com

Add a comment