ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)

В hapa hope ua kamaʻāina mākou i nā kauoha kumu a Termux, hoʻonohonoho i kahi pilina SSH i kahi PC, aʻo pehea e hana ai i nā inoa inoa a hoʻokomo i kekahi mau pono pono. I kēia manawa pono mākou e neʻe hou aku, aia mākou me ʻoe:

  • e aʻo e pili ana iā Termux:API
  • e hoʻokomo iā Python a me nano, a kākau "Aloha, honua!" ma Python
  • e aʻo e pili ana i nā palapala bash a kākau i kahi palapala me ka hoʻohana ʻana iā Termux: API
  • me ka hoʻohana ʻana i kahi palapala bash, Termux: API a me Python e kākau mākou i kahi papahana maʻalahi

No ka mea ʻike mākou i ke ʻano o nā kauoha hoʻokomo, a laila mai ka hana aʻe ʻaʻole wau e wehewehe i kēlā me kēia hana i kēlā me kēia kikoʻī, akā ma kahi e pilikia ai, e wehewehe pono wau.

Hoʻohana nui au i nā inoa inoa, no laila ua hōʻike ʻia nā pōkole i hoʻohana ʻia ma kēia ʻāpana:

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

Ua mākaukau ka papahana, hiki iā ʻoe ke hoʻomaka! A ʻoiaʻiʻo, mai poina e pili ana i ka "Magic Tab" (E nana i ka Mahele 1).

pani 4

Luʻu ʻana i ka Termux: API Rabbit Hole

API pehea ka nui o ka hui ana ma keia huaolelo no ka naau o ka mea coder

Inā ʻaʻole mākou e hoʻopā i ke kumuhana o Termux: API, a laila hiki ke hoʻemi ʻia kā mākou mau ʻanuʻu āpau i ka haʻi hou ʻana o kekahi brochure e like me "Linux for Dummies", e like me ka mea i hōʻike pololei ʻia ma nā ʻōlelo i ka hapa mua.

ʻO ka mua, e hoʻokomo iā Termux:API mai ka Google Play Market (ʻaʻole ʻeha ke hoʻomaka hou iā Termux ma hope):

ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)

A laila, pono mākou e hoʻokomo i ka pūʻolo API i ka console Termux:

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

No ka hoʻokolohua, hoʻohana au i ka Android 5.1.1, no ka mea, pono nā mea nona ka Android 7 e "pale" Termux: API ma ka hele ʻana i 'Settings' > 'Protected Apps', i ʻole e kāhea ʻia ʻo API e like me termux-battery-status, e kau ana. (Cm. wiki papahana)

I kēia manawa pono e nānā pono i nā manawa i loaʻa. Hiki ke loaʻa ka wehewehe hou a me ka kikoʻī loa o Termux:API ma wiki papahana. E ho'āʻo wau e koho i nā hiʻohiʻona a me ka hoihoi, e hiki ai iaʻu ke hoʻopiha i koʻu lima no ka hana kūʻokoʻa i ka wā e hiki mai ana.

ʻO kekahi mau laʻana Termux: API

  • kūlana-pāʻani termux
    Hoʻihoʻi i ke kūlana o ka pākaukau
    ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)
  • termux-mālamalama
    Hoʻonohonoho i ka mālamalama o ka pale mai 0 a 255
    ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)
  • termux-toast
    Hōʻike i kahi hoʻolaha hoʻolaha ʻaina hoʻokahi manawa
    ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)
  • lama-lama
    Me ke kukui uila
    ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)
  • termux-wifi-scaninfo
    Hoʻihoʻi i ka ʻike e pili ana i ka scan hope loa o nā pūnaewele Wi-Fi
    ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)

He mea maʻalahi ka ʻike ʻana i nā koina hoʻihoʻi he string, puke wehewehe ʻōlelo, papa inoa o nā puke wehewehe ʻōlelo, ma ka laulā, nā ʻano ʻikepili e hana nui ai ʻo Python, no laila ʻo ka hana aʻe e hoʻonohonoho iā ia.

pani 5

E hoʻouka iā Python a me nano

No ka hoʻokomo ʻana iā Python, e kākau i ka terminal:

updg
apt install python
apt install python2

I kēia manawa ua hoʻokomo mākou i ka 2 a me 3 Python.

ʻOiai e hana ana i ka ʻatikala, ua ʻike au i kahi mea hoʻoponopono kikokikona nano aʻu i makemake nui ai ma mua o vim, e hoʻokomo iā ia:

apt install nano

ʻOi aku ka maʻalahi o ka hoʻohana ʻana ma mua o vim, a ʻoi aku ka maikaʻi o ka nano. Ma kahi polokalamu Android, ʻoi aku ka maʻalahi o ka vim.

HelloWorld ma Python ma Termux

Ma ka nui, hiki ke hana me ka ʻole o kēia mea, akā ʻo ka hoʻokomo ʻana iā Python i Termux a ʻaʻole kākau iā HelloWorld, i koʻu manaʻo, he ʻano maikaʻi ʻole.

ʻAʻole oʻu manaʻo e aʻo iā Python, no laila hiki i ka poʻe ʻike ʻole ke kope kope i ke code (a i ʻole e hoʻomaka i ke aʻo ʻana iā lākou iho, no ka mea ua lawa ka palapala), a hiki i ka poʻe ʻike ke hana i kahi mea iā lākou iho. A e hōʻike mau ana au "ma lalo o ke ʻano" i kahi ala e hoʻokomo ai i ka kikokikona ma ka pahu me ka ʻole o ka mea hoʻoponopono.

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)

ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)

Inā ʻaʻole ʻoe i ʻike i kahi hewa i ka wā o ke kaʻina hoʻokomo a ua paʻi mua iā Enter, a laila ʻaʻole hiki iā ʻoe ke hele i ka laina ma luna, e hana i kēia, e hoʻopau i ka hoʻokomo ma ke kaomi ʻana iā Ctrl + D (hiki iā ʻoe ke hoʻopau pinepine iā Ctrl + Z) a hana hou i nā mea a pau mai ka hoʻomaka. No ka mea ua hoʻohana mākou i ka '>' a laila e hoʻopau piha ʻia ka faila. No kēia kumu, ʻaʻole wau e paipai i ka hoʻohana ʻana i kēia ʻano hoʻokomo ke ʻole ʻoe e maopopo e kākau koke ʻoe i ke code me ka ʻole o nā hewa.

pani 6

Nā palapala Bash

ʻO nā palapala Bash kahi ala maikaʻi loa e hoʻokaʻawale i kāu hana terminal. ʻO ka palapala he faila me ka .sh hoʻonui (he koho ka hoʻonui) i loaʻa kahi pūʻulu o nā kauoha terminal, kekahi o ia mau mea a mākou i aʻo ai. Eia papa inoa o ka nui o na kauoha, Pono nā mea a pau, akā e hoʻomaopopo he papa inoa kēia no Linux "mākua", ʻaʻole ʻo Termux, akā wale nō mea nui ma nā palapala bash.

Me ke kōkua o nā palapala, hiki iā ʻoe ke hoʻokaʻawale i nā hana monotonous āpau. E kākau kāua i ka palapala bash maʻalahi loa e hōʻike ana i ka waiwai mai ka loli āna i hana ai, e hoʻohana hou au i ka pōpoki, hiki iā ʻoe ke hoʻohana i ka mea hoʻoponopono kikokikona maʻamau, a ʻo ka poʻe makemake nui e hoʻomaʻamaʻa iā lākou iho hiki ke hoʻohana i ka echo.

cat >test.sh

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

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

# Ctrl + D

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

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

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

ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)

Palapala Bash me Termux:API

E kākau kāua i kahi mea ʻokoʻa mai ka HelloWorlds kaulana, akā ʻaʻole pono. ʻO kā mākou palapala e:

  1. e hoʻokō i ka noi API termux-battery-status
  2. mālama i ka ʻikepili i loaʻa i ka faila test.txt
  3. paʻi ʻikepili mai kahi faila i ka pale
  4. e hoʻokō i ka papahana hello-world.py i kākau mua ʻia
  5. e kākau i ka ʻikepili i loaʻa mai ka papahana i ka file test.txt
  6. paʻi ʻikepili mai kahi faila i ka pale
  7. e hoʻoneʻe i ka ʻikepili mai ka waihona a i ka clipboard
  8. hōʻike i nā mea i loko o ka papa paʻi
  9. hōʻike i ka memo pop-up me ka ʻikepili mai ka clipboard

ʻO ka mea mua, hana i kahi waihona no ka hana a kope hello-world.py ma laila e like me test.py, hana i nā faila test.sh a me test.txt ma kēia waihona:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

I kēia manawa, ma kahi ala kūpono, e kākau i ka palapala i ka faila 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

I kēia manawa, i loko o ka waihona bashscript, kākau mākou ./test.sh ʻIke mākou ma ka pahu ma ka polokalamu Android:

ʻO Termux i kēlā me kēia ʻanuʻu (Mahele 2)

No laila ua kākau mākou i ka script bash i hoʻolālā ʻia. Hiki iā ʻoe ke hoʻoheheʻe me ka hopena i ka console o ka ʻike e pili ana i ka hoʻokō ʻana i kēlā me kēia hana (hoʻohana ʻana i ka echo), e waiho wau i kēia no ka poʻe heluhelu.

pani 7

E hana kāua i mea pono

Pili pono

E hoʻolālā kākou i nā huaʻōlelo
Ma hope o ka hoʻomaka ʻana, pono e kau ka palapala noi i kahi laina maʻamau mai ka faila ma ka clipboard a hoʻolaha e pili ana me kahi memo pop-up.

E lawe mākou i kahi palapala bash i kumu, e unuhi mākou i kahi laina maʻamau mai kahi faila me ka hoʻohana ʻana i kahi subroutine Python. E hana kākou i papa hana palapala:

  1. Holo i ka subroutine
  2. E hoʻololi i ka hopena o ka subroutine i ka clipboard
  3. Hōʻike i ka memo popup

E wehewehe i nā inoa o ka papa kuhikuhi a me nā faila noi:

  • rndstr waihona ma ka papa kuhikuhi home
    • kumu - ka faila kahi e lawe ai mākou i nā laina
    • rndstr.py - he subroutine e hōʻike ana i kahi laina maʻamau mai ka waihona kumu i ka console
    • rndstr.sh - waihona palapala

E hana i kahi papa kuhikuhi noi a neʻe i laila a hana i nā faila ma laila.

Hiki ke hoʻohui ʻia nā helu mua ʻelua o ka hoʻolālā script e kahi pipeline, ma muli o ka hoʻohana ʻana iā Termux: API loaʻa iā mākou:

#!/bin/bash

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

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

I ka waihona kumu, hiki iā ʻoe ke kau i kekahi kikokikona i hoʻokaʻawale ʻia i nā laina, ua hoʻoholo wau e kau i nā aphorisms:

Papa inoa waihona kumu

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

Pono mākou e hana i kahi subroutine e unuhi i kahi kaula maʻamau mai ka faila kumu.
E kākau kāua i ka algorithm o ka subroutine:

  1. Wehe kumu waihona
  2. Ke helu ʻana i ka helu o nā laina ma kahi faila hāmama
  3. Pani i ka faila (ʻaʻohe mea e wehe ai no ka manawa hou)
  4. Hoʻopuka mākou i ka helu helu ma loko o ka helu o nā laina o ka faila kumu
  5. Wehe kumu waihona
  6. Hoʻopuka mākou i kahi laina ma lalo o ka helu o ka helu i hana ʻia
  7. Ke pani nei i ka faila

Hoʻokomo mākou i ka algorithm ma Python (Kākau wau ma lalo o 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  #  закрываем файл

Ma hope o ka hana ʻana a kākau ʻia nā faila, pono ʻoe e hāʻawi i nā ʻae hoʻokō faila rndstr.sh, a hana i inoa inoa no ka hoʻomaka wikiwiki.

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

I kēia manawa e paʻi ana i ka terminal rnst e loaʻa iā mākou kahi aphorism maʻamau ma ka clipboard, kahi, no ka laʻana, hiki ke hoʻohana ʻia i nā leka.

Maʻaneʻi ua kākau mākou i kahi mea pono. Pili pono.

Ps

I ka hana hope loa, ʻaʻole wau i hāʻawi i nā screenshots a ʻaʻole i hoʻopaʻa kikoʻī i kekahi o nā hana, kākau wale i nā ʻike o nā faila i loaʻa i ka poʻe heluhelu ka manawa e hana ai iā lākou iho.

Ma kēia "Termux step by step", manaʻo wau he mea pono ke hoʻopau. ʻOiaʻiʻo, ʻo kēia wale nō nā pae mua, akā i kēia manawa hiki iā ʻoe ke neʻe i mua iā ʻoe iho.

I ka wā mua, ua hoʻolālā wau e hōʻike i kēia pōʻai pehea e hoʻohana ai i ka nmap, sqlmap, akā me ka ʻole oʻu ua nui nā ʻatikala e pili ana i kēia kumuhana. Inā makemake ʻoe iaʻu e hoʻomau i ka pōʻai "Termux step by step", a laila aia kahi noiʻi ma lalo a ma nā manaʻo hiki iā ʻoe ke kuhikuhi i kahi mea e kākau ai.

Hiki i nā mea hoʻohana i hoʻopaʻa inoa ʻia ke komo i ka noiʻi. Eʻe, e 'oluʻolu.

E hoʻomau i ka "Termux step by step"?

  • ia

  • No

2 mea hoʻohana i koho. ʻAʻohe haʻalele.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka