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」を続けてほしい場合は、下にアンケートがあり、コメントで他に何を書くべきかを提案できます。








All Articles