最後の部分では、基本的なTermuxコマンドに出会い、PCとのSSH接続をセットアップし、エイリアスの作成方法を学び、いくつかの便利なユーティリティをインストールしました。 今回はさらに一歩踏み込まなければなりません、あなたと私:
- Termux:APIについて学ぶ
- Pythonとnanoをインストールし、「Hello、world!」と書いてください。 Pythonで
- bashスクリプトについて学び、Termuxを使用してスクリプトを作成します:API
- bashスクリプト、Termux:APIおよびPythonを使用して、簡単なプログラムを作成します
これで入力コマンドが何をするのか理解できたので、次のステップからは各アクションを詳細に説明しませんが、困難がある場合は必ず説明します。
私はよくエイリアスを使用するため、この部分で使用される略語を以下に示します。
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
- termux-battery-status
バッテリーの状態を返します
- テルマックス輝度
画面の明るさを0〜255に設定します
- テルマックストースト
一時的なポップアップ通知を表示します
- テルマックストーチ
懐中電灯を点灯します
- termux-wifi-scaninfo
Wi-Fiネットワークの最後のスキャンに関する情報を返します
返される値が文字列、辞書、辞書、一般に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とは異なるものの、まったく役に立たないものを書きましょう。 スクリプトは次のようになります。
- termux-battery-status APIリクエストを実行する
- 受信したデータをtest.txtファイルに保存します
- 画面上のファイルのデータを表示する
- 前に書いたhello-world.pyプログラムを実行します
- プログラムから受け取ったデータをtest.txtファイルに書き込む
- 画面上のファイルのデータを表示する
- ファイルからクリップボードにデータを転送します
- クリップボードの内容を表示する
- クリップボードのデータを含むポップアップメッセージを表示する
まず、作業用のフォルダーを作成し、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ルーチンを使用してファイルからランダムな行を抽出します。 スクリプトの作業計画を作成しましょう。
- サブルーチンを実行
- ルーチンの結果をクリップボードに転送します
- ポップアップメッセージを表示する
ディレクトリとアプリケーションファイルの名前を決定します。
- ホームディレクトリのrndstrフォルダー
- source-行を取得するファイル
- rndstr.py-ソースファイルからランダムな行をコンソールに出力するルーチン
- rndstr.sh-スクリプトファイル
アプリケーションディレクトリを作成し、そこに移動して、そこにファイルを作成します。
スクリプトプランの最初の2つのポイントは、結果としてTermux:APIを使用してパイプラインと組み合わせることができます。
#!/bin/bash python ~/rndstr/rndstr.py | termux-clipboard-set # 1 2 termux-toast "OK" # 3 . ""
ソースファイルには、論理的に行に分割された任意のテキストを配置できます。私は格言を挿入することにしました。
. . . , . . . . . . . . , , . . , . . , . . , . . . . , . . , . . - , . , . , , . . , . . , . . , . . , . , . . . . . , . . - . , . . . . , , . . . , , , . . ! !
ソースファイルからランダムな行を抽出するルーチンを作成することは残ります。
サブプログラムのアルゴリズムについて説明します。
- ソースファイルを開く
- 開いているファイルの行数を数えます
- ファイルを閉じます(開いたままにしておくものは何もありません)
- ソースファイルの行数内でランダムな整数を生成します
- ソースファイルを開く
- 生成された番号の番号の下に行を印刷します
- ファイルを閉じます
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」を続けてほしい場合は、下にアンケートがあり、コメントで他に何を書くべきかを提案できます。