Termux kauj ruam yog kauj ruam (Part 2)

В qhov kawg Peb tau paub txog Termux cov lus txib, teeb tsa SSH kev sib txuas nrog lub PC, kawm paub yuav ua li cas tsim cov npe npe thiab teeb tsa ntau yam khoom siv siv tau zoo. Lub sijhawm no peb yuav tsum mus ntxiv, peb nrog koj:

  • kawm txog Termux: API
  • Cia peb nruab Python thiab nano, thiab tseem sau "Nyob zoo, ntiaj teb!" hauv Python
  • kawm txog bash scripts thiab sau ib tsab ntawv siv Termux: API
  • Cia peb sau ib qho kev pab cuam yooj yim siv cov ntawv bash, Termux: API thiab Python

Txij li tam sim no peb nkag siab tias cov lus txib nkag mus ua dab tsi, los ntawm cov kauj ruam tom ntej kuv yuav tsis piav qhia txhua qhov kev txiav txim hauv cov ntsiab lus no, tab sis qhov twg yuav muaj teeb meem, kuv yuav piav qhia meej.

Kuv feem ntau siv aliases, yog li cov ntawv luv uas siv hauv ntu no tau qhia ntawm no:

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

Txoj kev npaj npaj txhij, peb tuaj yeem pib! Thiab tau kawg, tsis txhob hnov ​​​​qab txog "magic Tab" (Saib Part 1).

kauj ruam 4

Diving Down lub Termux: API Rabbit Qhov

API, ntau npaum li cas hauv lo lus no rau tus coder lub siab tau sib sau ua ke

Yog tias peb tsis kov lub ntsiab lus ntawm Termux: API, ces tag nrho peb cov kauj ruam tuaj yeem raug txo kom rov qab tau yooj yim ntawm qee daim ntawv qhia zoo li "Linux rau Dummies," raws li tau sau tseg hauv cov lus rau thawj ntu.

Ua ntej, cia peb nruab Termux: API los ntawm Google Play Market (tom qab ntawd nws yuav tsis mob rov pib dua Termux):

Termux kauj ruam yog kauj ruam (Part 2)

Tom ntej no peb yuav tsum nruab API pob hauv Termux console:

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

Rau kev sim kuv siv Android 5.1.1, rau Android 7 tus tswv koj yuav tsum 'tiv thaiv' Termux: API los ntawm kev mus rau Chaw> Tiv Thaiv Apps, txwv tsis pub API hu zoo li termux-battery-status, yuav khov. (Cm. qhov project wiki)

Tam sim no nws yog lub sijhawm los saib xyuas cov peev txheej tau txais. Cov lus piav qhia tsis ntev los no thiab ntxaws ntxaws ntawm Termux: API tuaj yeem pom ntawm qhov project wiki. Kuv yuav sim xaiv qhov kev pom thiab nthuav dav tshaj plaws, uas yuav ua rau kuv tau zoo dua ntawm kev ua haujlwm ywj pheej yav tom ntej.

Qee qhov piv txwv ntawm Termux: API

  • termux-battery-status
    Rov qab cov xwm txheej roj teeb
    Termux kauj ruam yog kauj ruam (Part 2)
  • termux-brightness
    Teem lub vijtsam ci ntawm 0 txog 255
    Termux kauj ruam yog kauj ruam (Part 2)
  • termux-toast
    Qhia ib ntus pop-up ceeb toom
    Termux kauj ruam yog kauj ruam (Part 2)
  • termux-tug
    suav nrog lub teeb nyem
    Termux kauj ruam yog kauj ruam (Part 2)
  • termux-wifi-scaninfo
    Rov qab cov ntaub ntawv hais txog qhov kawg scan ntawm Wi-Fi tes hauj lwm
    Termux kauj ruam yog kauj ruam (Part 2)

Nws yog ib qho yooj yim kom pom tias cov nqi xa rov qab yog cov hlua, phau ntawv txhais lus, cov npe ntawm cov phau ntawv txhais lus, cov hom ntaub ntawv uas Python ua haujlwm zoo nrog, yog li cov kauj ruam tom ntej yog teeb tsa.

kauj ruam 5

Nruab Python thiab nano

Txhawm rau nruab Python, sau rau hauv lub davhlau ya nyob twg:

updg
apt install python
apt install python2

Tam sim no peb muaj Python 2 thiab 3 ntsia.

Thaum ua hauj lwm ntawm tsab xov xwm no, kuv nrhiav tau lwm cov ntawv nyeem, nano, uas kuv nyiam tshaj vim, cia peb nruab nws:

apt install nano

Nws yooj yim siv dua vim, thiab nano muaj ntau tus neeg siv-phooj ywg interface. Ntawm Android ntaus ntawv, vim yog tseem yooj yim dua.

HelloWorld hauv Python hauv Termux

Los ntawm thiab loj, nws tuaj yeem ua yam tsis muaj qhov taw tes no, tab sis txhim kho Python hauv Termux thiab tsis sau HelloWorld, hauv kuv lub tswv yim, yog tus cwj pwm phem.

Kuv lub hom phiaj tsis yog qhia rau leej twg Python, yog li cov neeg tsis paub tsuas tuaj yeem luam cov lej (lossis pib kawm ntawm lawv tus kheej, hmoov zoo muaj cov ntaub ntawv txaus), thiab cov neeg paub tuaj yeem kos duab rau lawv tus kheej. Thiab ntawm qhov ntsiag to, kuv tseem yuav qhia koj txog kev nkag mus rau cov ntawv hauv lub davhlau ya nyob twg yam tsis muaj tus editor.

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 kauj ruam yog kauj ruam (Part 2)

Yog hais tias thaum lub sij hawm input txheej txheem koj tsis pom ib qho yuam kev thiab twb nias Enter, ces koj yuav tsis tau mus rau kab saum toj no; ua li no, ua tiav nkag los ntawm nias Ctrl + D (koj tuaj yeem cuam tshuam Ctrl + Z) thiab rov ua txhua yam los ntawm qhov pib. Txij li thaum peb siv '>' cov ntaub ntawv yuav rov sau dua. Vim li no, kuv tsis pom zoo kom siv cov tswv yim no tshwj tsis yog tias koj paub tseeb tias koj yuav sau tus lej tam sim yam tsis muaj qhov yuam kev.

kauj ruam 6

Bash scripts

Bash scripts yog ib txoj hauv kev zoo los ua kom koj lub davhlau ya nyob twg ua haujlwm. Tsab ntawv yog ib cov ntaub ntawv nrog rau qhov txuas ntxiv .sh (qhov txuas ntxiv yog xaiv tau) uas muaj cov lus txib ntawm lub davhlau ya nyob twg, qee qhov peb tau kawm lawm. Ntawm no daim ntawv teev cov commands feem ntau, txhua yam yuav tsum ua haujlwm, tab sis thov nco ntsoov tias qhov no yog cov npe rau "tus neeg laus" Linux, thiab tsis yog rau Termux, tab sis tsuas yog Cov khoom zoo ntawm bash scripts.

Siv cov ntawv sau koj tuaj yeem ua haujlwm yuav luag txhua yam haujlwm monotonous. Wb sau ib tsab ntawv bash yooj yim uas tso tawm tus nqi los ntawm qhov sib txawv nws tsim, Kuv yuav rov siv miv, koj tuaj yeem siv cov ntawv sau ib txwm, thiab cov uas tshwj xeeb tshaj yog xav qhia lawv tus kheej tuaj yeem siv ncha.

cat >test.sh

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

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

# Ctrl + D

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

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

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

Termux kauj ruam yog kauj ruam (Part 2)

Bash tsab ntawv nrog Termux: API

Cia peb sau ib yam dab tsi txawv ntawm qhov tsis muaj npe HelloWorlds, tab sis tsuas yog tsis muaj txiaj ntsig. Peb tsab ntawv yuav yog:

  1. ua termux-battery-status API thov
  2. khaws cov ntaub ntawv tau txais mus rau hauv cov ntaub ntawv test.txt
  3. tso saib cov ntaub ntawv los ntawm ib cov ntaub ntawv ntawm qhov screen
  4. khiav qhov kev pab cuam hello-world.py yav tas los
  5. Sau cov ntaub ntawv tau txais los ntawm qhov program mus rau cov ntaub ntawv test.txt
  6. tso saib cov ntaub ntawv los ntawm ib cov ntaub ntawv ntawm qhov screen
  7. Hloov cov ntaub ntawv los ntawm ib cov ntaub ntawv mus rau daim ntawv teev cia
  8. tso saib cov ntsiab lus ntawm daim ntawv teev cia
  9. tso saib cov lus pop-up nrog cov ntaub ntawv los ntawm cov ntawv teev cia

Ua ntej, cia peb tsim cov ntawv tais ceev tseg rau kev ua haujlwm thiab luam nyob zoo-world.py muaj li test.py, tsim cov ntaub ntawv test.sh thiab test.txt hauv daim nplaub tshev no:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Tam sim no, nyob rau hauv txhua txoj kev yooj yim, sau tsab ntawv mus rau cov ntaub ntawv 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

Tam sim no nyob rau hauv bashscript folder peb sau ./test.sh Peb pom hauv lub davhlau ya nyob twg ntawm Android ntaus ntawv:

Termux kauj ruam yog kauj ruam (Part 2)

Yog li peb tau sau cov ntawv npaj bash. Koj tuaj yeem dilute nws los ntawm kev tso tawm cov ntaub ntawv ntawm kev ua tiav ntawm txhua qhov kev ua rau lub console (siv ncha), Kuv yuav tso qhov no rau cov nyeem.

kauj ruam 7

Cia peb ua tej yam muaj txiaj ntsig

Muaj txiaj ntsig zoo

Cia peb tsim cov ntsiab lus ntawm kev siv
Tom qab tso tawm, daim ntawv thov yuav tsum tso ib txoj kab los ntawm ib cov ntaub ntawv ntawm cov ntawv teev cia thiab ceeb toom txog qhov no nrog cov lus pop-up.

Cia peb ua ib tsab ntawv bash ua lub hauv paus thiab rho tawm cov kab random los ntawm cov ntaub ntawv siv Python subroutine. Cia peb ua ib txoj kev npaj rau tsab ntawv:

  1. Khiav subroutine
  2. Hloov cov txiaj ntsig ntawm lub subroutine mus rau daim ntawv teev cia
  3. Tso cov lus pop-up

Cia peb txiav txim siab ntawm cov npe ntawm cov npe thiab daim ntawv thov cov ntaub ntawv:

  • rndstr folder hauv home directory
    • qhov chaw - cov ntaub ntawv uas peb yuav coj kab
    • rndstr.py - lub subroutine uas luam ib kab random los ntawm cov ntaub ntawv mus rau lub console
    • rndstr.sh - script file

Peb tsim cov ntawv teev npe thov thiab txav mus rau hauv nws thiab tsim cov ntaub ntawv muaj.

Thawj ob lub ntsiab lus ntawm tsab ntawv phiaj xwm tuaj yeem ua ke los ntawm cov raj xa dej, vim li ntawd, siv Termux:API peb tau txais:

#!/bin/bash

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

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

Hauv cov ntaub ntawv qhov chaw koj tuaj yeem muab cov ntawv sau tau muab faib ua kab, Kuv txiav txim siab tso aphorisms:

Cov ntaub ntawv sau npe

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

Txhua yam peb yuav tsum tau ua yog tsim lub subroutine uas rho tawm ib txoj hlua random los ntawm cov ntaub ntawv qhov chaw.
Cia peb piav qhia lub algorithm ntawm lub subroutine:

  1. Qhib cov ntaub ntawv qhov chaw
  2. suav cov kab hauv ib daim ntawv qhib
  3. Kaw cov ntaub ntawv (tsis muaj qhov taw tes ua kom nws qhib ntev dhau)
  4. Tsim ib tug random integer nyob rau hauv tus naj npawb ntawm kab nyob rau hauv cov ntaub ntawv qhov chaw
  5. Qhib cov ntaub ntawv qhov chaw
  6. Peb tso saib ib kab hauv qab tus lej ntawm tus lej tsim tawm
  7. Kaw cov ntaub ntawv

Cia peb siv cov algorithm hauv Python (Kuv sau hauv qab 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  #  закрываем файл

Tom qab cov ntaub ntawv raug tsim thiab sau, koj yuav tsum muab txoj cai ua tiav rau cov ntaub ntawv rndstr.sh, thiab tsim ib lub npe rau kev tso tawm sai.

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

Tam sim no los ntawm kev nkag mus rau hauv lub davhlau ya nyob twg rnst peb yuav tau txais ib qho aphorism random rau ntawm daim ntawv teev npe, uas, piv txwv li, tuaj yeem siv rau hauv kev sau ntawv.

Yog li peb tau sau tsawg kawg ib yam dab tsi pab tau. Muaj txiaj ntsig zoo.

Ntawv

Hauv cov kauj ruam kawg, kuv txhob txwm tsis muab cov screenshots thiab tsis tau txheeb xyuas kom meej txog qee qhov kev ua, piav qhia tsuas yog cov ntsiab lus ntawm cov ntaub ntawv kom cov neeg nyeem muaj lub sijhawm los ua haujlwm ntawm lawv tus kheej.

Kuv xav tias nws tsim nyog ua kom tiav qhov "Termux kauj ruam ntawm kauj ruam". Tau kawg, cov no tsuas yog thawj kauj ruam xwb, tab sis tam sim no koj tuaj yeem mus tom ntej ntawm koj tus kheej.

Thaum xub thawj, kuv tau npaj los qhia hauv cov koob no yuav ua li cas siv nmap, sqlmap, tab sis txawm tias tsis muaj kuv twb muaj ntau cov lus ntawm lub ncauj lus no. Yog tias koj xav kom kuv mus txuas ntxiv "Termux kauj ruam los ntawm kauj ruam" series, tom qab ntawd muaj ib daim ntawv ntsuam xyuas hauv qab no thiab hauv cov lus koj tuaj yeem tawm tswv yim dab tsi ntxiv los sau txog.

Tsuas yog cov neeg siv sau npe tuaj yeem koom nrog hauv daim ntawv ntsuam xyuas. Kos npe rau hauvthov.

Txuas ntxiv "Termux kauj ruam ntawm kauj ruam"?

  • Yog

  • Tsis

2 cov neeg siv pov npav. Tsis muaj abstentions.

Tau qhov twg los: www.hab.com

Ntxiv ib saib