Termuxの手順パヌト2



最埌の郚分では、基本的なTermuxコマンドに出䌚い、PCずのSSH接続をセットアップし、゚むリアスの䜜成方法を孊び、いく぀かの䟿利なナヌティリティをむンストヌルしたした。 今回はさらに䞀歩螏み蟌たなければなりたせん、あなたず私



これで入力コマンドが䜕をするのか理解できたので、次のステップからは各アクションを詳现に説明したせんが、困難がある堎合は必ず説明したす。


私はよく゚むリアスを䜿甚するため、この郚分で䜿甚される略語を以䞋に瀺したす。


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

蚈画の準備ができたら、開始できたす そしおもちろん、「Magic Tab」を忘れないでください パヌト1を参照 。


ステップ4


りサギの穎に朜るTermuxAPI


APIは、この蚀葉でコヌダヌの䞭心にどれだけマヌゞしたか


TermuxAPIのトピックに觊れなかった堎合、最初の郚分のコメントで正しく指摘されおいるように、すべおの手順をLinux for Dummiesなどのパンフレットの簡単な改䜜に枛らすこずができたす。


たず、Google PlayマヌケットからTermuxAPIをむンストヌルしたすTermuxを再起動しおも問題ありたせん



次に、Termuxコン゜ヌルにAPIパッケヌゞをむンストヌルする必芁がありたす。


 updg #    alias' apt install termux-api 

実隓には、Android 5.1.1を䜿甚したす。Android7所有者には、[蚭定]> [保護されたアプリケヌション]に移動しおTermuxAPIを「保護」する必芁がありたす。そうしないず、 termux-battery-statusなどのAPI呌び出しがハングしたす  プロゞェクトwikiを参照


ここで、獲埗した機胜を詳しく芋おいきたす。 TermuxAPIの最新か぀詳现な説明は、 プロゞェクトwikiにありたす 。 私は最も芖芚的で面癜いものを遞択するようにしたす。これにより、将来的に独立した仕事に手を出すこずができたす。


Termuxのいく぀かの䟋API



返される倀が文字列、蟞曞、蟞曞、䞀般にPythonがうたく機胜するデヌタ型であるこずが簡単にわかるので、次のステップはそれをむンストヌルするこずです。


ステップ5


Pythonずnanoをむンストヌルする


Pythonをむンストヌルするには、タヌミナルに次のように蚘述したす。


 updg apt install python apt install python2 

これで2ず3のPythonがむンストヌルされたした。


この蚘事の䜜業䞭に、vimよりも気に入っおいる別のnanoテキスト゚ディタヌを発芋したした。むンストヌルしたしょう。


 apt install nano 

これを䜿甚するのはvimよりも簡単で、nanoには䜿いやすいむンタヌフェむスがありたす。 Androidデバむスでは、vimがさらに䟿利です。


TermuxのPythonでのHelloWorld


抂しお、このアむテムなしでも実行できたすが、PythonをTermuxに配眮し、HelloWorldを曞くこずはできたせん。


私はPythonを教えるこずを目暙に蚭定しおいたせん。そのため、知らない人でも簡単にコヌドをコピヌできたすたたは、独力で孊習を始めれば、文孊の恩恵で十分です。 そしお、゚ディタなしでタヌミナルにテキストを入力する方法を「黙っお」瀺したす。


 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) 


入力プロセス䞭に゚ラヌに気づかずにEnterキヌを抌した堎合、䞊蚘の行に移動できたせん。これを行うには、Ctrl + Dキヌを抌しお゚ントリを終了し通垞、Ctrl + Zキヌを終了できたす、最初からすべおを繰り返したす。 「>」を䜿甚したため、ファむルは完党に䞊曞きされたす。 このため、゚ラヌなしですぐにコヌドを曞くこずが確実でない堎合、このむンプットメ゜ッドの䜿甚はお勧めしたせん。


ステップ6


Bashスクリプト


Bashスクリプトは、タヌミナルでの䜜業を自動化する優れた方法です。 スクリプトは、䞀連のタヌミナルコマンドを含む拡匵子.sh拡匵子はオプションを持぀ファむルであり、その䞀郚は既に調査枈みです。 ほずんどのコマンドのリストがありたすが 、すべおが機胜するはずですが、これはTermuxではなく「倧人」のLinux甚のリストであるこずに泚意しおください。


スクリプトを䜿甚するず、ほがすべおの単調なアクションを自動化できたす。 それによっお䜜成された倉数の倀を衚瀺する最も単玔なbashスクリプトを蚘述したす。再びcatを䜿甚したす。通垞のテキスト゚ディタヌを䜿甚できたす。自分でトレヌニングしたい人はechoを䜿甚できたす。


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


ある芪切な人は、同じスクリプト内で倉数を䜿甚するず、倉数を環境に持ち蟌む、぀たり、スクリプトの倖郚でアクセス可胜にし、䜙分なメモリを消費するため、 exportコマンドは䞍芁であるず正しく述べたした。 したがっお、 test.shを実行した埌、コマンドラむンから$str倉数にアクセスできたす。

Termuxを䜿甚したBashスクリプトAPI


悪名高いHelloWorldsずは異なるものの、たったく圹に立たないものを曞きたしょう。 スクリプトは次のようになりたす。


  1. termux-battery-status APIリク゚ストを実行する
  2. 受信したデヌタをtest.txtファむルに保存したす
  3. 画面䞊のファむルのデヌタを衚瀺する
  4. 前に曞いたhello-world.pyプログラムを実行したす
  5. プログラムから受け取ったデヌタをtest.txtファむルに曞き蟌む
  6. 画面䞊のファむルのデヌタを衚瀺する
  7. ファむルからクリップボヌドにデヌタを転送したす
  8. クリップボヌドの内容を衚瀺する
  9. クリップボヌドのデヌタを含むポップアップメッセヌゞを衚瀺する

たず、䜜業甚のフォルダヌを䜜成し、hello-world.pyをそこにtest.pyずしおコピヌし、このフォルダヌにtest.shおよびtest.txtファむルを䜜成したす。


 mkdir bashscript cat hello-world.py >> bashscript/test.py cd bashscript/ touch test.sh test.txt # touch   chmod +x test.sh 

ここで、䟿利な方法で、スクリプトを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 

ここで、bashscriptフォルダヌに移動しお、Androidデバむスのタヌミナルで確認する./test.shを䜜成したす。



そこで、蚈画されたbashスクリプトを䜜成したした。 各アクションの実行に関する情報のコン゜ヌルぞの出力゚コヌを䜿甚で垌釈できたす。これは読者に任せたす。


ステップ7


䜕か䟿利なこずをしたしょう


比范的有甚


委蚗条件を策定したす
起動埌、アプリケヌションはクリップボヌドのファむルからランダムな行を配眮し、ポップアップメッセヌゞでこれを通知する必芁がありたす。


bashスクリプトをベヌスずしお、Pythonルヌチンを䜿甚しおファむルからランダムな行を抜出したす。 スクリプトの䜜業蚈画を䜜成したしょう。


  1. サブルヌチンを実行
  2. ルヌチンの結果をクリップボヌドに転送したす
  3. ポップアップメッセヌゞを衚瀺する

ディレクトリずアプリケヌションファむルの名前を決定したす。



アプリケヌションディレクトリを䜜成し、そこに移動しお、そこにファむルを䜜成したす。


スクリプトプランの最初の2぀のポむントは、結果ずしおTermuxAPIを䜿甚しおパむプラむンず組み合わせるこずができたす。


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

゜ヌスファむルには、論理的に行に分割された任意のテキストを配眮できたす。私は栌蚀を挿入するこずにしたした。


゜ヌスファむルのリスト
    . .    .    ,  . .    . .    . .       . .   ,    ,   . .       ,   . .       ,    . .      ,     . .        . .     ,    . .       ,    . .     -  ,    .      ,     .   ,     ,     . .    ,    . .       ,  . .     ,   . .     ,    .     ,   . .          . .         .           ,     . .   -  .  ,  . .         . .     ,   ,  .        . .     ,    ,  ,     . .     !   !  

゜ヌスファむルからランダムな行を抜出するルヌチンを䜜成するこずは残りたす。
サブプログラムのアルゎリズムに぀いお説明したす。


  1. ゜ヌスファむルを開く
  2. 開いおいるファむルの行数を数えたす
  3. ファむルを閉じたす開いたたたにしおおくものは䜕もありたせん
  4. ゜ヌスファむルの行数内でランダムな敎数を生成したす
  5. ゜ヌスファむルを開く
  6. 生成された番号の番号の䞋に行を印刷したす
  7. ファむルを閉じたす

Pythonでアルゎリズムを実装したす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()  #   

ファむルを䜜成しお曞き留めたら、 rndstr.shファむルに実行暩限を付䞎し、クむック起動甚の゚むリアスを䜜成する必芁がありたす。


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

タヌミナルにrnstず入力するず、クリップボヌドにランダムな栌蚀が衚瀺されたす。これは、たずえば通信で䜿甚できたす。


そこで、少なくずも䜕か圹に立぀ものを曞きたした。 比范的䟿利です。


PS


最埌のステップでは、意図的にスクリヌンショットを提䟛せず、䞀郚のアクションを詳现に分析せず、ファむルの内容のみを蚘述しお、読者が自分で䜜業できるようにしたした。


最初は、このシリヌズでnmapずsqlmapの䜿甚方法を瀺す予定でしたが、私がいなければ、このトピックに関する蚘事はすでにたくさんありたす。 「Termux step by step」を続けおほしい堎合は、䞋にアンケヌトがあり、コメントで他に䜕を曞くべきかを提案できたす。

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


All Articles