В
- belajar tentang Termux:API
- pasang Python dan nano, dan tulis "Hello, dunia!" dalam Python
- belajar tentang skrip bash dan tulis skrip menggunakan Termux:API
- menggunakan skrip bash, Termux:API dan Python kita akan menulis program mudah
Oleh kerana kita kini memahami apa yang dilakukan oleh arahan input, maka dari langkah seterusnya saya tidak akan menerangkan setiap tindakan secara terperinci, tetapi di mana mungkin terdapat kesulitan, saya pasti akan menerangkan.
Saya banyak menggunakan alias, jadi singkatan yang digunakan dalam bahagian ini ditunjukkan di sini:
alias updg='apt update && apt upgrade'
alias py='python'
Pelan sudah siap, anda boleh mula! Dan sudah tentu, jangan lupa tentang "Tab ajaib" (
Langkah 4
Menyelam ke Termux:API Arnab Lubang
API berapa banyak yang telah digabungkan dalam perkataan ini untuk hati pengkod
Jika kita tidak menyentuh topik Termux: API, maka semua langkah kita boleh dikurangkan kepada penceritaan semula ringkas beberapa risalah seperti "Linux for Dummies", seperti yang dinyatakan dengan betul dalam ulasan pada bahagian pertama.
Mula-mula, pasang Termux:API daripada Pasaran Google Play (tidak rugi untuk memulakan semula Termux selepas itu):
Seterusnya, kita perlu memasang pakej API dalam konsol Termux:
updg # Не забываем про alias’ы
apt install termux-api
Untuk percubaan, saya menggunakan Android 5.1.1, untuk pemilik Android 7 perlu "melindungi" Termux: API dengan pergi ke 'Tetapan' > 'Apl Terlindung' jika tidak, panggilan API seperti termux-battery-status
, akan digantung. (Cm.
Kini ia patut melihat dengan lebih dekat peluang yang diperoleh. Penerangan terkini dan paling terperinci Termux:API boleh didapati di
Beberapa contoh Termux:API
- status-bateri termux
Mengembalikan keadaan bateri
- termux-kecerahan
Menetapkan kecerahan skrin daripada 0 hingga 255
- termux-toast
Menunjukkan pemberitahuan roti bakar sementara
- termux-torch
Termasuk lampu suluh
- termux-wifi-scaninfo
Mengembalikan maklumat tentang imbasan terakhir rangkaian Wi-Fi
Sangat mudah untuk melihat bahawa nilai pulangan adalah rentetan, kamus, senarai kamus, secara amnya, jenis data yang berfungsi dengan baik dengan Python, jadi langkah seterusnya ialah menyediakannya.
Langkah 5
Pasang Python dan nano
Untuk memasang Python, tulis dalam terminal:
updg
apt install python
apt install python2
Kami kini telah memasang 2 dan 3 Python.
Semasa mengerjakan artikel itu, saya menemui editor teks nano lain yang lebih saya sukai daripada vim, mari pasangkannya:
apt install nano
Ia lebih mudah digunakan daripada vim, dan nano mempunyai antara muka yang lebih mesra pengguna. Pada peranti Android, vim masih lebih mudah.
HelloWorld dalam Python di Termux
Pada umumnya, ia boleh dilakukan tanpa item ini, tetapi meletakkan Python dalam Termux dan tidak menulis HelloWorld, pada pendapat saya, adalah tingkah laku yang tidak baik.
Saya tidak berhasrat untuk mengajar sesiapa Python, jadi mereka yang tidak tahu boleh menyalin kod (atau mula belajar sendiri, kerana terdapat bahan bacaan yang mencukupi), dan mereka yang tahu boleh membuat sesuatu sendiri. Dan saya akan "berselindung" masih menunjukkan cara untuk memasukkan teks dalam terminal tanpa 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)
Jika anda tidak melihat ralat semasa proses input dan sudah menekan Enter, maka anda tidak akan dapat pergi ke baris di atas, untuk melakukan ini, tamatkan input dengan menekan Ctrl + D (secara amnya anda boleh mengganggu Ctrl + Z) dan ulangi semuanya dari awal. Oleh kerana kami menggunakan '>' maka fail itu akan ditimpa sepenuhnya. Atas sebab ini, saya tidak mengesyorkan menggunakan kaedah input ini melainkan anda pasti bahawa anda akan menulis kod serta-merta tanpa ralat.
Langkah 6
Skrip Bash
Skrip Bash ialah cara terbaik untuk mengautomasikan kerja terminal anda. Skrip ialah fail dengan sambungan .sh (sambungan adalah pilihan) yang mengandungi set perintah terminal, beberapa daripadanya telah kami pelajari. Di sini
Dengan bantuan skrip, anda boleh mengautomasikan hampir semua tindakan membosankan. Mari kita tulis skrip bash paling mudah yang memaparkan nilai daripada pembolehubah yang dia cipta, saya akan menggunakan cat sekali lagi, anda boleh menggunakan editor teks biasa, dan mereka yang ingin melatih diri mereka sendiri boleh menggunakan gema.
cat >test.sh
export str="Привет, Хабр!"
# export создает переменную str
# и присваивает ей значение "Привет, Хабр!"
# Не ставьте пробелы до и после ‘=’
echo $str # Для обращения к переменным перед ними ставится ‘$’
# Ctrl + D
# ./test.sh для запуска скрипта, но если это сделать сейчас то будет ошибка
# для избавления от ошибки нужно сделать файл test.sh исполняемым
chmod +x test.sh
# chmod изменяет права доступа (+ добавить / - убрать)
# ‘+x’ означает что мы делаем файл исполняемым
./test.sh # Запускаем выполнение нашего скрипта
Skrip Bash dengan Termux:API
Mari kita tulis sesuatu yang berbeza daripada HelloWorlds yang terkenal, tetapi sama seperti tidak berguna. Skrip kami ialah:
- laksanakan permintaan API termux-bateri-status
- simpan data yang diterima ke fail test.txt
- mencetak data daripada fail ke skrin
- laksanakan program hello-world.py yang ditulis sebelum ini
- tulis data yang diterima daripada atur cara ke ujian fail.txt
- mencetak data daripada fail ke skrin
- memindahkan data dari fail ke papan keratan
- memaparkan kandungan papan keratan
- paparkan mesej pop timbul dengan data dari papan keratan
Mula-mula, buat folder untuk kerja dan salin hello-world.py di sana sebagai test.py, buat fail test.sh dan test.txt dalam folder ini:
mkdir bashscript
cat hello-world.py >> bashscript/test.py
cd bashscript/
touch test.sh test.txt # touch создает файлы
chmod +x test.sh
Sekarang, dengan cara yang mudah, tulis skrip ke fail 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
Sekarang, berada dalam folder bashscript, kami menulis ./test.sh
kami perhatikan di terminal pada peranti Android:
Jadi kami menulis skrip bash yang dirancang. Anda boleh mencairkannya dengan output ke konsol maklumat mengenai pelaksanaan setiap tindakan (menggunakan gema), saya akan meninggalkan ini untuk pembaca.
Langkah 7
Jom buat sesuatu yang bermanfaat
Agak berguna
Mari kita rumuskan terma rujukan
Selepas pelancaran, aplikasi harus meletakkan baris rawak dari fail pada papan keratan dan memberitahu tentangnya dengan mesej pop timbul.
Kami akan mengambil skrip bash sebagai asas, kami akan mengekstrak baris rawak daripada fail menggunakan subrutin Python. Mari buat rancangan kerja skrip:
- Jalankan subrutin
- Pindahkan hasil subrutin ke papan keratan
- Paparkan mesej pop timbul
Mari kita tentukan nama direktori dan fail aplikasi:
- folder rndstr dalam direktori rumah
- sumber - fail dari mana kita akan mengambil baris
- rndstr.py - subrutin yang memaparkan baris rawak dari fail sumber ke konsol
- rndstr.sh - fail skrip
Cipta direktori aplikasi dan alihkannya dan buat fail di sana.
Dua mata pertama pelan skrip boleh digabungkan dengan saluran paip, sebagai hasilnya, menggunakan Termux: API yang kita dapat:
#!/bin/bash
python ~/rndstr/rndstr.py | termux-clipboard-set # 1 и 2 пункты плана работы
termux-toast "OK" # 3 пункт. Выводим всплывающее сообщение "ОК"
Dalam fail sumber, anda boleh meletakkan sebarang teks secara logik dibahagikan kepada baris, saya memutuskan untuk meletakkan kata-kata mutiara:
Penyenaraian fail sumber
Искренность не есть истина. Л. Лавель
Терпи и воздерживайся. Эпиктет
Благородно только то, что бескорыстно. Ж. Лабрюйер
Будь благоразумно отважным. Б. Грасиан
Доброта лучше красоты. Г. Гейне
Для великих дел необходимо неутомимое постоянство. Ф.Вольтер
Если ты хочешь, чтобы тебе всегда угождали, прислуживай себе сам. Б. Франклин
Чрезмерная скромность есть не что иное, как скрытая гордость. А. Шенье
Очень умным людям начинают не доверять, если видят их смущение. Ф. Ницше
Бедность указывает на отсутствие средств, а не на отсутствие благородства. Д. Боккаччо
Нужно остерегаться доведения скромности до степени унижения. А. Бакиханов
Кто отказывается от многого, может многое себе позволить. Ж. Шардон
Когда нам платят за благородный поступок, его у нас отнимают. Н. Шамфор
Не получить вовсе - не страшно, но лишиться полученного обидно. Клавдий Элиан
Легче переносить терпеливо то, что нам не дано исправить. Гораций
Устаешь ждать, но насколько хуже было бы, если бы ждать стало нечего. Б. Шоу
Все приходит вовремя, если люди умеют ждать. Ф. Рабле
Своим терпением мы можем достичь большего, чем силой. Э. Берк
Надо уметь переносить то, чего нельзя избежать. М. Монтень
Кто в деле смел, тот слов не устрашится. Софокл
Я не люблю сражаться, я люблю побеждать. Б. Шоу
Затравленный и прижатый к стене кот превращается в тигра. М. Сервантес
Достойный человек не идет по следам других людей. Конфуций
Великий ум проявит свою силу не только в умении мыслить, но и в умении жить. Р. Эмерсон
Слава - товар невыгодный. Стоит дорого, сохраняется плохо. О. Бальзак
Сдержанность и уместность в разговорах стоят больше красноречия. Ф. Бэкон
Кто молчать не умеет, тот и говорить, не способен. Сенека Младший
Хорошие манеры состоят из маленьких жертв. Ф. Честерфилд
Добрый человек не тот, кто умеет делать добро, а тот, кто не умеет делать зла. В. Ключевский
Не произносите бесповоротных суждений! Августин
Ничего слишком! Солон
Kita hanya perlu mencipta subrutin yang mengekstrak rentetan rawak daripada fail sumber.
Mari kita tulis algoritma subrutin:
- Fail sumber terbuka
- Mengira bilangan baris dalam fail terbuka
- Tutup fail (tiada apa-apa untuk memastikan ia dibuka untuk masa tambahan)
- Kami menjana integer rawak dalam bilangan baris fail sumber
- Fail sumber terbuka
- Kami mengeluarkan baris di bawah nombor nombor yang dijana
- Menutup fail
Kami melaksanakan algoritma dalam Python (saya menulis di bawah 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 # закрываем файл
Selepas fail dibuat dan ditulis, anda perlu memberikan kebenaran pelaksanaan fail rndstr.sh
, dan buat alias untuk pelancaran pantas.
alias rnst="~/rndstr/rndstr.sh"
Sekarang menaip dalam terminal rnst
kami akan mendapat kata mutiara rawak pada papan keratan, yang, sebagai contoh, boleh digunakan dalam surat-menyurat.
Di sini kami telah menulis sekurang-kurangnya sesuatu yang berguna. Agak berguna.
Ps
Pada langkah terakhir, saya sengaja tidak memberikan tangkapan skrin dan tidak menganalisis secara terperinci beberapa tindakan, hanya menulis kandungan fail supaya pembaca mempunyai peluang untuk bekerja sendiri.
Mengenai "Termux langkah demi langkah" ini, saya rasa ia berbaloi untuk diselesaikan. Sudah tentu, ini hanyalah langkah pertama, tetapi kini anda boleh bergerak ke hadapan sendiri.
Pada mulanya, saya merancang untuk menunjukkan dalam kitaran ini cara menggunakan nmap, sqlmap, tetapi tanpa saya sudah ada banyak artikel mengenai topik ini. Jika anda mahu saya meneruskan kitaran "Termux langkah demi langkah", maka terdapat tinjauan di bawah dan dalam ulasan anda boleh mencadangkan apa lagi untuk ditulis.
Hanya pengguna berdaftar boleh mengambil bahagian dalam tinjauan.
Teruskan "Termux langkah demi langkah"?
-
Ya
-
Tiada
2 pengguna mengundi. Tidak ada pantang.
Sumber: www.habr.com