Igbesẹ Termux nipasẹ igbese (Apá 2)

В kẹhin apa A ni imọran pẹlu awọn aṣẹ Termux ipilẹ, ṣeto asopọ SSH kan pẹlu PC kan, kọ ẹkọ bii o ṣe le ṣẹda awọn inagijẹ ati fi sori ẹrọ ọpọlọpọ awọn ohun elo to wulo. Ni akoko yii a ni lati lọ paapaa siwaju, a wa pẹlu rẹ:

  • Kọ ẹkọ nipa Termux: API
  • Jẹ ki a fi Python ati nano sori ẹrọ, ati tun kọ “Kaabo, agbaye!” ni Python
  • kọ ẹkọ nipa awọn iwe afọwọkọ bash ati kọ iwe afọwọkọ nipa lilo Termux: API
  • Jẹ ki a kọ eto ti o rọrun nipa lilo iwe afọwọkọ bash, Termux: API ati Python

Niwọn igba ti a ti loye kini awọn aṣẹ ti a tẹ sii ṣe, lati igbesẹ ti n tẹle Emi kii yoo ṣe apejuwe iṣe kọọkan ni iru alaye bẹ, ṣugbọn nibiti awọn iṣoro le wa, Emi yoo ṣalaye ni pato.

Nigbagbogbo Mo lo awọn inagijẹ, nitorinaa awọn kuru ti a lo ni apakan yii han nibi:

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

Eto naa ti ṣetan, a le bẹrẹ! Ati nitorinaa, maṣe gbagbe nipa “Taabu idan” (Wo Apa 1).

Igbesẹ 4

Diving Down the Termux: API Ehoro Iho

API, melomelo ninu ọrọ yii fun ọkan coder ti dapọ

Ti a ko ba fi ọwọ kan koko ọrọ Termux: API, lẹhinna gbogbo awọn igbesẹ wa le dinku si sisọ ti o rọrun ti diẹ ninu iwe pẹlẹbẹ bii “Linux for Dummies,” gẹgẹ bi a ti ṣe akiyesi ni deede ninu awọn asọye si apakan akọkọ.

Ni akọkọ, jẹ ki a fi Termux: API sori ọja Google Play (lẹhinna kii yoo ṣe ipalara lati tun Termux bẹrẹ):

Igbesẹ Termux nipasẹ igbese (Apá 2)

Nigbamii ti a nilo lati fi sori ẹrọ package API ninu console Termux:

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

Fun awọn idanwo Mo n lo Android 5.1.1, fun awọn oniwun Android 7 o nilo lati 'daabobo' Termux: API nipa lilọ si Eto> Awọn ohun elo Idaabobo, bibẹẹkọ awọn ipe API bii termux-battery-status, yoo di. (Cm. wiki ise agbese)

Bayi o to akoko lati wo awọn agbara ti o gba. Apejuwe to ṣẹṣẹ julọ ati alaye ti Termux: API ni a le rii ni wiki ise agbese. Emi yoo gbiyanju lati yan wiwo julọ ati iwunilori, eyiti yoo gba mi laaye lati dara si ni iṣẹ ominira ni ọjọ iwaju.

Diẹ ninu awọn apẹẹrẹ ti Termux: API

  • termux-batiri-ipo
    Pada ipo batiri pada
    Igbesẹ Termux nipasẹ igbese (Apá 2)
  • termux-imọlẹ
    Ṣeto imọlẹ iboju lati 0 si 255
    Igbesẹ Termux nipasẹ igbese (Apá 2)
  • termux-tositi
    Ṣe afihan ifitonileti agbejade igba diẹ
    Igbesẹ Termux nipasẹ igbese (Apá 2)
  • termux-ògùṣọ
    Pẹlu flashlight
    Igbesẹ Termux nipasẹ igbese (Apá 2)
  • termux-wifi-scaninfo
    Pada alaye pada nipa ọlọjẹ kẹhin ti awọn nẹtiwọọki Wi-Fi
    Igbesẹ Termux nipasẹ igbese (Apá 2)

O rọrun lati rii pe awọn iye ipadabọ jẹ awọn okun, awọn iwe-itumọ, awọn atokọ ti awọn iwe-itumọ, awọn oriṣi data ti Python ṣiṣẹ daradara pẹlu, nitorinaa igbesẹ ti n tẹle ni lati ṣeto rẹ.

Igbesẹ 5

Fi Python ati nano sori ẹrọ

Lati fi Python sori ẹrọ, kọ sinu ebute naa:

updg
apt install python
apt install python2

Bayi a ti fi Python 2 ati 3 sori ẹrọ.

Lakoko ti o n ṣiṣẹ lori nkan yii, Mo ṣe awari olootu ọrọ miiran, nano, eyiti Mo nifẹ diẹ sii ju vim, jẹ ki a fi sii:

apt install nano

O rọrun lati lo ju vim lọ, ati nano ni wiwo ore-olumulo diẹ sii. Lori ẹrọ Android kan, vim tun rọrun diẹ sii.

HelloWorld ni Python ni Termux

Nipa ati nla, o ṣee ṣe lati ṣe laisi aaye yii, ṣugbọn fifi Python sori Termux ati kii ṣe kikọ HelloWorld, ni ero mi, jẹ awọn ihuwasi buburu.

Ibi-afẹde mi kii ṣe lati kọ ẹnikẹni Python, nitorinaa awọn ti ko mọ le daakọ koodu naa nirọrun (tabi bẹrẹ ikẹkọ funrararẹ, daa pe awọn iwe-kikọ to wa), ati awọn ti o mọ le ṣe ohunkan funrararẹ. Ati lori idakẹjẹ, Emi yoo tun fihan ọ ọna lati tẹ ọrọ sii ni ebute laisi olootu.

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)

Igbesẹ Termux nipasẹ igbese (Apá 2)

Ti o ba jẹ pe lakoko ilana titẹ sii o ko ṣe akiyesi aṣiṣe kan ati pe o ti tẹ Tẹ tẹlẹ, lẹhinna o kii yoo ni anfani lati lọ si laini loke; lati ṣe eyi, pari titẹ sii nipa titẹ Ctrl + D (o le paapaa da gbigbi Ctrl + Z) ati tun ohun gbogbo lati ibẹrẹ. Niwọn igba ti a ti lo ''>' faili naa yoo jẹ tunkọ patapata. Fun idi eyi, Emi ko ṣeduro lilo ọna titẹ sii ayafi ti o ba ni idaniloju pe iwọ yoo kọ koodu naa lẹsẹkẹsẹ laisi awọn aṣiṣe.

Igbesẹ 6

Awọn iwe afọwọkọ Bash

Awọn iwe afọwọkọ Bash jẹ ọna nla lati ṣe adaṣe iṣẹ ebute rẹ. Iwe afọwọkọ jẹ faili pẹlu itẹsiwaju .sh (afikun naa jẹ iyan) ti o ni akojọpọ awọn aṣẹ ebute, diẹ ninu eyiti a ti kọ ẹkọ tẹlẹ. Nibi akojọ ti awọn julọ ase, ohun gbogbo yẹ ki o ṣiṣẹ, ṣugbọn jọwọ ṣe akiyesi pe eyi jẹ atokọ fun Linux “agbalagba”, kii ṣe fun Termux, ṣugbọn o kan Awọn nkan nla lori awọn iwe afọwọkọ bash.

Lilo awọn iwe afọwọkọ o le ṣe adaṣe adaṣe gbogbo awọn iṣe monotonous. Jẹ ki a kọ iwe afọwọkọ bash ti o rọrun ti o ṣe abajade iye lati oniyipada ti o ṣẹda, Emi yoo tun lo ologbo, o le lo olootu ọrọ deede, ati awọn ti o fẹ paapaa kọ ara wọn le lo iwoyi.

cat >test.sh

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

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

# Ctrl + D

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

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

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

Igbesẹ Termux nipasẹ igbese (Apá 2)

Iwe afọwọkọ Bash pẹlu Termux: API

Jẹ ki a kọ nkan ti o yatọ si HelloWorlds olokiki, ṣugbọn gẹgẹ bi asan. Iwe afọwọkọ wa yoo jẹ:

  1. ṣe termux-batiri-ipo API ìbéèrè
  2. fipamọ data ti o gba si idanwo faili.txt
  3. ṣafihan data lati faili kan loju iboju
  4. ṣiṣẹ eto hello-world.py ti a kọ tẹlẹ
  5. Kọ data ti o gba lati inu eto naa si test.txt faili
  6. ṣafihan data lati faili kan loju iboju
  7. gbe data lati faili kan si agekuru
  8. han awọn akoonu ti awọn sileti
  9. ṣe afihan ifiranṣẹ agbejade pẹlu data lati agekuru agekuru

Ni akọkọ, jẹ ki a ṣẹda folda kan fun iṣẹ ati daakọ hello-world.py nibẹ bi test.py, ṣẹda awọn faili test.sh ati test.txt ninu folda yii:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Bayi, ni eyikeyi ọna irọrun, kọ iwe afọwọkọ si faili 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

Bayi wa ninu folda bashscript ti a kọ ./test.sh A rii ninu ebute lori ẹrọ Android kan:

Igbesẹ Termux nipasẹ igbese (Apá 2)

Nitorinaa a kọ iwe afọwọkọ bash ti a gbero. O le ṣe dilute rẹ nipa gbigbejade alaye lori ipaniyan ti iṣe kọọkan si console (lilo iwoyi), Emi yoo fi eyi silẹ fun awọn oluka.

Igbesẹ 7

Jẹ ki a ṣe nkan ti o wulo

Jo wulo

Jẹ ki a ṣe agbekalẹ awọn ofin itọkasi
Lẹhin ifilọlẹ, ohun elo yẹ ki o gbe laini lainidi lati faili kan lori agekuru agekuru ki o leti nipa eyi pẹlu ifiranṣẹ agbejade kan.

Jẹ ki a mu iwe afọwọkọ bash bi ipilẹ ki o jade laini lainidi lati faili kan nipa lilo subroutine Python kan. Jẹ ki a ṣe eto fun iwe afọwọkọ:

  1. Ṣiṣe subbroutine
  2. Gbe abajade ti subroutine lọ si agekuru agekuru
  3. Ṣe afihan ifiranṣẹ agbejade kan

Jẹ ki a pinnu lori awọn orukọ ti liana ati awọn faili ohun elo:

  • rndstr folda ninu ile liana
    • orisun - faili lati eyiti a yoo gba awọn ila
    • rndstr.py – subroutine kan ti o tẹjade laini lainidi lati faili orisun si console
    • rndstr.sh - faili iwe afọwọkọ

A ṣẹda itọsọna ohun elo ati gbe sinu rẹ ati ṣẹda awọn faili nibẹ.

Awọn aaye meji akọkọ ti ero iwe afọwọkọ le ni idapo nipasẹ opo gigun ti epo, bi abajade, lilo Termux: API a gba:

#!/bin/bash

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

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

Ninu faili orisun o le fi ọrọ eyikeyi si ọgbọn ti o pin si awọn laini, Mo pinnu lati fi awọn aphorisms:

Akojọ faili orisun

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

Gbogbo ohun ti a ni lati ṣe ni ṣẹda subroutine kan ti o yọkuro okun laileto lati faili orisun.
Jẹ ki a ṣe apejuwe algorithm ti subroutine:

  1. Ṣii faili orisun
  2. Kika nọmba awọn laini ninu faili ṣiṣi
  3. Pa faili naa (ko si aaye ni ṣiṣi silẹ fun igba pipẹ)
  4. Ṣe ina odidi aileto laarin nọmba awọn ila ninu faili orisun
  5. Ṣii faili orisun
  6. A ṣe afihan ila kan labẹ nọmba nọmba ti ipilẹṣẹ
  7. Tilekun faili naa

Jẹ ki a ṣe algorithm ni Python (Mo kọ labẹ 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  #  закрываем файл

Lẹhin ti ṣẹda awọn faili ati kikọ, o nilo lati fun awọn ẹtọ ipaniyan si faili naa rndstr.sh, ati ṣẹda inagijẹ fun ifilọlẹ ni kiakia.

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

Bayi nipa titẹ ni ebute rnst a yoo gba aphorism laileto lori agekuru agekuru, eyiti, fun apẹẹrẹ, le ṣee lo ni ifọrọranṣẹ.

Nitorina a kowe ni o kere nkankan wulo. Jo wulo.

Sm

Ni igbesẹ ti o kẹhin, Emi ko mọọmọ ko pese awọn sikirinisoti ati pe ko ṣe itupalẹ ni awọn alaye diẹ ninu awọn iṣe, ti n ṣalaye awọn akoonu ti awọn faili nikan ki awọn oluka ni aye lati ṣiṣẹ funrararẹ.

Mo ro pe o tọ lati pari “Igbese Termux nipasẹ igbese”. Nitoribẹẹ, iwọnyi jẹ awọn igbesẹ akọkọ pupọ, ṣugbọn ni bayi o le lọ siwaju funrararẹ.

Ni ibẹrẹ, Mo gbero lati ṣafihan ninu jara yii bii o ṣe le lo nmap, sqlmap, ṣugbọn paapaa laisi mi ọpọlọpọ awọn nkan ti wa tẹlẹ lori koko yii. Ti o ba fẹ ki n tẹsiwaju jara “Igbese Termux nipasẹ igbese”, lẹhinna iwadi wa ni isalẹ ati ninu awọn asọye o le daba kini ohun miiran lati kọ nipa.

Awọn olumulo ti o forukọsilẹ nikan le kopa ninu iwadi naa. wọle, Jowo.

Tesiwaju "Termux ni igbese nipa igbese"?

  • Bẹẹni

  • No

2 olumulo dibo. Ko si abstentions.

orisun: www.habr.com

Fi ọrọìwòye kun