Termux léngkah-léngkah (Bagian 2)

В bagian panungtungan Kami kenal sareng paréntah Termux dasar, nyetél sambungan SSH sareng PC, diajar kumaha ngadamel alias sareng dipasang sababaraha utilitas anu mangpaat. Waktos ieu urang kedah langkung jauh, kami sareng anjeun:

  • diajar ngeunaan Termux:API
  • Hayu urang pasang Python sareng nano, sareng nyerat ogé "Halo, dunya!" dina Python
  • diajar ngeunaan skrip bash sareng nyerat naskah nganggo Termux: API
  • Hayu urang nyerat program saderhana nganggo skrip bash, Termux: API sareng Python

Kusabab urang ayeuna ngartos naon paréntah anu diasupkeun, ti lengkah saterusna kuring moal ngajelaskeun unggal Peta di jéntré, tapi dimana aya kasusah, abdi pasti bakal ngajelaskeun.

Kuring sering nganggo landian, janten singketan anu dianggo dina bagian ieu dipidangkeun di dieu:

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

Rencanana parantos siap, urang tiasa ngamimitian! Sarta tangtu, ulah poho ngeunaan "magic Tab" (Tingali Bagian 1).

lengkah 4

Nyilem Turun ka Termux: API Rabbit Hole

API, sabaraha dina kecap ieu pikeun jantung coder urang geus ngahiji

Upami urang henteu nyabak kana topik Termux:API, maka sadaya léngkah urang tiasa diréduksi janten retelling saderhana tina sababaraha brosur sapertos "Linux for Dummies," sapertos anu leres-leres dicatet dina koméntar kana bagian kahiji.

Kahiji, hayu urang pasang Termux:API ti Google Play Market (sanggeus éta moal ngarugikeun pikeun ngamimitian deui Termux):

Termux léngkah-léngkah (Bagian 2)

Salajengna urang kedah masang pakét API dina konsol Termux:

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

Pikeun ékspérimén kuring nganggo Android 5.1.1, pikeun anu gaduh Android 7 anjeun kedah 'ngajagi' Termux: API ku jalan ka Setélan> Aplikasi anu Dilindungan, upami henteu, nelepon API sapertos termux-battery-status, bakal beku. (Cm. proyék wiki)

Ayeuna waktuna pikeun ningal langkung caket kana kamampuan anu kaala. Katerangan panganyarna sareng detil ngeunaan Termux:API tiasa dipendakan di proyék wiki. Kuring bakal nyobian milih anu paling visual sareng pikaresepeun, anu bakal ngajantenkeun kuring langkung saé dina karya mandiri di hareup.

Sababaraha conto Termux:API

  • termux-batré-status
    Mulangkeun status batré
    Termux léngkah-léngkah (Bagian 2)
  • termux-kacaangan
    Nyetél kacaangan layar ti 0 nepi ka 255
    Termux léngkah-léngkah (Bagian 2)
  • termux-roti bakar
    Nembongkeun bewara pop-up samentara
    Termux léngkah-léngkah (Bagian 2)
  • termux-obor
    Ngawengku senter
    Termux léngkah-léngkah (Bagian 2)
  • termux-wifi-scaninfo
    Ngabalikeun inpormasi ngeunaan scan jaringan Wi-Fi anu terakhir
    Termux léngkah-léngkah (Bagian 2)

Gampang ningali yén nilai balikna nyaéta string, kamus, daptar kamus, dasarna jinis data anu dianggo ku Python, janten léngkah salajengna nyaéta nyetél éta.

lengkah 5

Pasang Python sareng nano

Pikeun masang Python, tulis dina terminal:

updg
apt install python
apt install python2

Ayeuna kami parantos dipasang Python 2 sareng 3.

Nalika damel dina tulisan ieu, kuring mendakan pangropéa téksu sanés, nano, anu kuring resep langkung ti vim, hayu urang pasang:

apt install nano

Éta langkung gampang dianggo tibatan vim, sareng nano gaduh antarmuka anu langkung ramah-pamaké. Dina alat Android, vim masih langkung merenah.

HelloWorld di Python di Termux

Sacara umum, éta tiasa dilakukeun tanpa titik ieu, tapi masang Python di Termux sareng henteu nyerat HelloWorld, dina pamanggih kuring, nyaéta tatakrama anu goréng.

Tujuanana kuring henteu ngajar saha waé Python, ku kituna anu henteu terang tiasa nyalin kodeu (atanapi ngamimitian diajar nyalira, untungna aya literatur anu cukup), sareng anu terang tiasa ngémutan hal sorangan. Sareng dina sepi, kuring ogé bakal nunjukkeun anjeun cara pikeun nuliskeun téks dina terminal tanpa pangropéa.

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 léngkah-léngkah (Bagian 2)

Upami nalika prosés input anjeun henteu perhatikeun kasalahan sareng parantos pencét Lebetkeun, maka anjeun moal tiasa angkat ka garis di luhur; pikeun ngalakukeun ieu, réngsé lebet ku mencét Ctrl + D (anjeun bahkan tiasa ngaganggu Ctrl + Z) sareng malikan sagalana ti mimiti. Kusabab kami nganggo '>' file bakal ditulis deui lengkep. Ku sabab kitu, kuring henteu nyarankeun ngagunakeun metode input ieu kecuali anjeun yakin yén anjeun bakal langsung nyerat kodeu tanpa kasalahan.

lengkah 6

Aksara Bash

Skrip Bash mangrupikeun cara anu saé pikeun ngajadikeun otomatis padamelan terminal anjeun. Skrip nyaéta file kalayan extension .sh (extension nyaéta pilihan) ngandung sakumpulan paréntah terminal, sababaraha nu urang geus diajarkeun. Ieuh daptar paling Paréntah, sadayana kedah dianggo, tapi perhatikeun yén ieu mangrupikeun daptar pikeun Linux "dewasa", sanés pikeun Termux, tapi ngan ukur Barang hébat dina skrip bash.

Nganggo skrip anjeun tiasa ngajadikeun otomatis ampir sadaya tindakan anu monoton. Hayu urang nulis Aksara bash basajan nu outputs nilai tina variabel eta dijieun, Kuring deui bakal make ucing, anjeun tiasa nganggo pangropéa téksu normal, sarta maranéhanana anu utamana rék ngalatih sorangan bisa ngagunakeun gema.

cat >test.sh

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

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

# Ctrl + D

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

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

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

Termux léngkah-léngkah (Bagian 2)

Skrip Bash sareng Termux: API

Hayu urang nulis hal béda ti HelloWorlds notorious, tapi sagampil gunana. Skrip urang bakal kieu:

  1. ngalakukeun pamundut API termux-battery-status
  2. simpen data narima kana file test.txt
  3. mintonkeun data tina file dina layar
  4. laksanakeun program hello-world.py anu ditulis sateuacana
  5. Nulis data nampi ti program kana file test.txt
  6. mintonkeun data tina file dina layar
  7. mindahkeun data tina file ka clipboard
  8. mintonkeun eusi clipboard
  9. mintonkeun talatah pop-up jeung data ti clipboard

Kahiji, hayu urang nyieun folder pikeun digawé tur salin hello-world.py ka dinya salaku test.py, nyieun file test.sh jeung test.txt dina folder ieu:

mkdir bashscript

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

cd bashscript/

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

chmod +x test.sh

Ayeuna, ku cara anu gampang, tuliskeun naskah kana file 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

Ayeuna aya dina folder bashscript urang nyerat ./test.sh Urang tingali dina terminal dina alat Android:

Termux léngkah-léngkah (Bagian 2)

Janten urang nyerat skrip bash anu direncanakeun. Anjeun tiasa éncér ku kaluaran informasi dina palaksanaan unggal aksi ka konsol nu (ngagunakeun gema), Kuring gé ninggalkeun ieu pikeun pamiarsa.

lengkah 7

Hayu urang ngalakukeun hal mangpaat

Relatip mangpaat

Hayu urang ngarumuskeun istilah rujukan
Saatos peluncuran, aplikasi kedah nempatkeun garis acak tina file dina clipboard sareng ngabéjaan ngeunaan ieu kalayan pesen pop-up.

Hayu urang nyandak skrip bash salaku dasar sareng nimba garis acak tina file nganggo subrutin Python. Hayu urang ngadamel rencana pikeun naskah:

  1. Ngajalankeun subrutin
  2. Mindahkeun hasil subrutin kana clipboard
  3. Témbongkeun pesen pop-up

Hayu urang mutuskeun nami diréktori sareng file aplikasi:

  • rndstr folder dina diréktori imah
    • source - file ti mana urang bakal nyandak garis
    • rndstr.py - a subroutine nu prints garis acak tina file sumber kana konsol nu
    • rndstr.sh - file skrip

Kami nyiptakeun diréktori aplikasi sareng ngalih ka dinya sareng nyiptakeun file di dinya.

Dua titik mimiti rencana naskah bisa digabungkeun ku pipa, salaku hasilna, ngagunakeun Termux: API kami meunang:

#!/bin/bash

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

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

Dina file sumber anjeun tiasa nempatkeun téks naon waé sacara logis dibagi kana garis, kuring mutuskeun pikeun nempatkeun aphorisms:

Daptar file sumber

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

Sadaya anu urang kedah laksanakeun nyaéta nyiptakeun subrutin anu nimba senar acak tina file sumber.
Hayu urang ngajelaskeun algoritma tina subroutine nu:

  1. Buka file sumber
  2. Ngitung jumlah garis dina file anu kabuka
  3. Tutup filena (teu aya gunana tetep kabuka pikeun lami teuing)
  4. Ngahasilkeun integer acak dina jumlah garis dina file sumber
  5. Buka file sumber
  6. Urang mintonkeun garis dina jumlah jumlah dihasilkeun
  7. Nutup file

Hayu urang nerapkeun algoritma dina Python (kuring nulis dina 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  #  закрываем файл

Saatos file didamel sareng ditulis, anjeun kedah masihan hak palaksanaan kana file rndstr.sh, sarta nyieun alias pikeun peluncuran gancang.

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

Ayeuna ku asup ka terminal rnst Kami bakal nampi aphorism acak dina clipboard, anu, contona, tiasa dianggo dina korespondensi.

Janten urang nyerat sahenteuna anu mangpaat. Relatip mangpaat.

Hal

Dina léngkah anu terakhir, kuring ngahaja henteu nyayogikeun layar sareng henteu nganalisa sacara rinci sababaraha tindakan, ngan ukur ngajelaskeun eusi file supados pamiarsa ngagaduhan kasempetan pikeun damel nyalira.

Jigana éta patut rengse ieu "Termux step by step". Tangtosna, ieu mangrupikeun léngkah anu munggaran, tapi ayeuna anjeun tiasa maju nyalira.

Mimitina, kuring ngarencanakeun pikeun nunjukkeun dina séri ieu kumaha ngagunakeun nmap, sqlmap, tapi sanaos tanpa kuring parantos seueur tulisan ngeunaan topik ieu. Upami anjeun hoyong kuring neraskeun séri "Termux step by step", teras aya survey di handap sareng dina koméntar anjeun tiasa nyarankeun naon deui anu kedah ditulis.

Ngan pamaké nu kadaptar bisa ilubiung dina survey. Daptar, Punten.

Teruskeun "Termux step by step"?

  • yen

  • teu

2 pamaké milih. Aya henteu abstentions.

sumber: www.habr.com

Tambahkeun komentar