Termux langkah demi langkah (Bagian 2)



Pada bagian terakhir, kami bertemu dengan perintah-perintah Termux dasar, mengatur koneksi SSH dengan PC, belajar cara membuat alias, dan menginstal beberapa utilitas yang bermanfaat. Kali ini kita harus melangkah lebih jauh, Anda dan saya:


  • pelajari tentang Termux: API
  • instal Python dan nano, dan juga tulis "Halo, dunia!" dalam python
  • kita belajar tentang skrip bash dan menulis skrip menggunakan Termux: API
  • menggunakan skrip bash, Termux: API dan Python kita akan menulis sebuah program sederhana

Karena kita sekarang mengerti apa yang dilakukan perintah input, dari langkah selanjutnya saya tidak akan menjelaskan setiap tindakan secara mendetail, tetapi di mana pun ada kesulitan, saya pasti akan menjelaskan.


Saya sering menggunakan alias, jadi singkatan yang digunakan di bagian ini ditampilkan di sini:


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

Rencananya sudah siap, Anda bisa mulai! Dan tentu saja, jangan lupa tentang "Tab Ajaib" ( Lihat Bagian 1 ).


Langkah 4


Menyelam ke dalam lubang kelinci Termux: API


API seberapa banyak kata ini untuk penggabung jantung


Jika kami tidak menyentuh pada topik Termux: API, maka semua langkah kami dapat direduksi menjadi pengulangan sederhana beberapa brosur seperti Linux untuk Dummies, seperti yang telah disebutkan dalam komentar di bagian pertama.


Pertama, instal Termux: API dari Google Play Market (setelah itu tidak ada salahnya untuk me-restart Termux):



Selanjutnya, kita perlu menginstal paket API di konsol Termux:


 updg #    alias' apt install termux-api 

Untuk percobaan, saya menggunakan Android 5.1.1, untuk pemilik Android 7 Saya perlu β€œmelindungi” Termux: API dengan masuk ke Pengaturan> Aplikasi yang Dilindungi, jika tidak, panggilan API seperti termux-battery-status akan hang. (Lihat proyek wiki )


Sekarang perlu dicermati kemampuan yang didapat. Deskripsi Termux: API terbaru dan terperinci dapat ditemukan di wiki proyek . Saya akan mencoba untuk memilih yang paling visual dan menarik, yang akan memungkinkan saya mendapatkan pekerjaan mandiri di masa mendatang.


Beberapa contoh Termux: API


  • termux-battery-status
    Mengembalikan status baterai

  • termux-brightness
    Mengatur kecerahan layar dari 0 hingga 255

  • roti panggang termux
    Memperlihatkan pemberitahuan sembulan sementara

  • termux obor
    Menyalakan senter

  • termux-wifi-scaninfo
    Mengembalikan informasi tentang pemindaian terakhir jaringan Wi-Fi


Sangat mudah untuk melihat bahwa nilai yang dikembalikan adalah string, kamus, kamus, secara umum, tipe data yang bekerja dengan Python hebat, jadi langkah selanjutnya adalah menginstalnya.


Langkah 5


Instal Python dan nano


Untuk menginstal Python, kita menulis di terminal:


 updg apt install python apt install python2 

Sekarang kita sudah menginstal 2 dan 3 Python.


Selama mengerjakan artikel ini, saya menemukan editor teks nano lain yang saya sukai lebih dari vim, mari kita instal:


 apt install nano 

Menggunakannya lebih mudah daripada vim, dan nano memiliki antarmuka yang lebih ramah pengguna. Pada perangkat Android, vim masih lebih nyaman.


HelloWorld dengan Python di Termux


Secara umum, Anda bisa melakukannya tanpa item ini, tetapi letakkan Python di Termux dan jangan menulis HelloWorld, menurut saya, bahasa yang buruk.


Tujuan saya bukan untuk mengajar siapa pun Python, sehingga mereka yang tidak tahu dapat dengan mudah menyalin kode (atau mulai belajar sendiri, ada cukup literatur), dan mereka yang tahu bisa melakukannya sendiri. Dan saya akan "diam-diam" menunjukkan cara untuk memasukkan teks di 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 selama proses input Anda tidak melihat kesalahan dan Anda telah menekan Enter, maka Anda tidak akan dapat pergi ke baris di atas. Untuk melakukan ini, akhiri entri dengan menekan Ctrl + D (Anda biasanya dapat menghentikan Ctrl + Z) dan ulangi semuanya dari awal. Karena kami menggunakan '>', file akan sepenuhnya ditulis ulang. Untuk alasan ini, saya tidak merekomendasikan menggunakan metode input ini jika Anda tidak yakin bahwa Anda akan segera menulis kode tanpa kesalahan.


Langkah 6


Skrip Bash


Skrip Bash adalah cara terbaik untuk mengotomatisasi kerja dengan terminal. Script adalah file dengan ekstensi .sh (ekstensi adalah opsional) yang berisi serangkaian perintah terminal, beberapa di antaranya telah kita pelajari. Berikut adalah daftar sebagian besar perintah , semuanya harus berfungsi, tetapi perhatikan bahwa ini adalah daftar untuk "dewasa" Linux, dan bukan untuk Termux, tetapi ini hanya hal-hal hebat untuk skrip bash .


Dengan menggunakan skrip, Anda dapat mengotomatisasi hampir semua tindakan monoton. Mari kita menulis skrip bash paling sederhana yang menampilkan nilai dari variabel yang ia buat, saya akan menggunakan cat lagi, Anda dapat menggunakan editor teks biasa, dan mereka yang ingin melatih diri dapat menggunakan gema.


 cat >test.sh export str=", !" #   str #     ", !" #       '=' # export      (..   ) echo $str #        '$' # Ctrl + D # ./test.sh   ,         #        test.sh  chmod +x test.sh # chmod    (+  / - ) # '+x'       ./test.sh #     


Seseorang yang baik hati dengan benar mengatakan bahwa perintah export berlebihan jika variabel digunakan dalam skrip yang sama, karena akan membawa variabel ke lingkungan, yaitu membuatnya dapat diakses di luar skrip, mengambil memori tambahan. Jadi, setelah menjalankan test.sh kita dapat mengakses variabel $str dari baris perintah.

Skrip Bash dengan Termux: API


Mari kita menulis sesuatu yang berbeda dari HelloWorlds terkenal, tetapi sama tidak berguna. Script kami adalah:


  1. jalankan permintaan API termux-battery-status
  2. simpan data yang diterima ke file test.txt
  3. menampilkan data dari file di layar
  4. jalankan program hello-world.py yang ditulis sebelumnya
  5. tulis data yang diterima dari program ke file test.txt
  6. menampilkan data dari file di layar
  7. mentransfer data dari file ke clipboard
  8. tampilkan konten clipboard
  9. tampilkan pesan munculan dengan data dari clipboard

Pertama, buat folder untuk bekerja dan salin hello-world.py di sana sebagai test.py, buat file 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 apa pun yang nyaman, kami menulis skrip ke 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 

Sekarang, berada di folder bashscript, kita menulis ./test.sh kita amati di terminal pada perangkat Android:



Jadi kami menulis skrip bash yang direncanakan. Anda dapat mencairkannya dengan output ke konsol informasi tentang pelaksanaan setiap tindakan (menggunakan gema), saya akan meninggalkan ini untuk pembaca.


Langkah 7


Mari kita lakukan sesuatu yang bermanfaat


Bermanfaat relatif


Kami merumuskan kerangka acuan
Setelah memulai, aplikasi harus menempatkan garis acak dari file di clipboard dan memberitahukan hal ini dengan pesan pop-up.


Kami akan mengambil skrip bash sebagai dasar, kami akan mengekstrak garis acak dari file menggunakan rutin Python. Mari kita buat rencana kerja skrip:


  1. Jalankan subrutin
  2. Pindahkan hasil rutin ke clipboard
  3. Tampilkan pesan munculan

Kami akan memutuskan nama-nama direktori dan file aplikasi:


  • folder rndstr di direktori home
    • source - file dari mana kita akan mengambil baris
    • rndstr.py - sebuah rutin yang menampilkan konsol secara acak dari file sumber
    • rndstr.sh - file skrip

Kami membuat direktori aplikasi dan, setelah pindah ke dalamnya, kami membuat file di sana.


Dua poin pertama dari rencana skrip dapat dikombinasikan dengan pipeline, sebagai hasilnya, menggunakan Termux: API yang kita dapatkan:


 #!/bin/bash python ~/rndstr/rndstr.py | termux-clipboard-set # 1  2    termux-toast "OK" # 3 .    "" 

Di file sumber Anda dapat meletakkan teks apa pun secara logis dibagi menjadi beberapa baris, saya memutuskan untuk meletakkan kata-kata mutiara:


Mendaftar file sourse
    . .    .    ,  . .    . .    . .       . .   ,    ,   . .       ,   . .       ,    . .      ,     . .        . .     ,    . .       ,    . .     -  ,    .      ,     .   ,     ,     . .    ,    . .       ,  . .     ,   . .     ,    .     ,   . .          . .         .           ,     . .   -  .  ,  . .         . .     ,   ,  .        . .     ,    ,  ,     . .     !   !  

Tetap bagi kami untuk membuat rutin yang mengekstrak garis acak dari file sumber.
Kami akan menjelaskan algoritma subprogram:


  1. Buka file sumber
  2. Hitung jumlah baris dalam file yang terbuka
  3. Kami menutup file (tidak ada yang membuatnya terlalu banyak waktu terbuka)
  4. Hasilkan bilangan bulat acak dalam jumlah baris file sumber
  5. Buka file sumber
  6. Kami mencetak garis di bawah nomor dari nomor yang dihasilkan
  7. Tutup file

Kami menerapkan algoritme dengan 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()  #   

Setelah file dibuat dan direkam, Anda perlu memberikan hak eksekusi ke file rndstr.sh , dan membuat alias untuk peluncuran cepat.


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

Sekarang memasuki rnst di terminal rnst kita mendapatkan pepatah acak di clipboard, yang, misalnya, dapat digunakan dalam korespondensi.


Jadi kami menulis setidaknya sesuatu yang bermanfaat. Bermanfaat relatif.


PS


Pada langkah terakhir, saya sengaja tidak memberikan tangkapan layar dan tidak menganalisis secara rinci beberapa tindakan, hanya menulis konten file sehingga pembaca memiliki kesempatan untuk bekerja sendiri.


Awalnya, saya berencana untuk menunjukkan cara menggunakan nmap, sqlmap dalam seri ini, tetapi tanpa saya sudah ada banyak artikel tentang topik ini. Jika Anda ingin saya melanjutkan "Termux langkah demi langkah", maka ada survei di bawah ini, dan di komentar Anda dapat menyarankan apa lagi yang harus ditulis.

Source: https://habr.com/ru/post/id445868/


All Articles