ターミナルプログラムでシェルコマンドを使用する場合、Androidに実装されているコマンドのドキュメントやヘルプ、マンページはどこにありますか?
manを介してデバイス上にあると便利ですが、PDFまたはWebベースでも問題ありません。
ターミナルから「man」を実行すると、エラーが発生し、オンラインで適切なソースが見つかりません。
ターミナルプログラムでシェルコマンドを使用する場合、Androidに実装されているコマンドのドキュメントやヘルプ、マンページはどこにありますか?
manを介してデバイス上にあると便利ですが、PDFまたはWebベースでも問題ありません。
ターミナルから「man」を実行すると、エラーが発生し、オンラインで適切なソースが見つかりません。
回答:
Androidの端末コマンドのほとんどは、toolbox
プログラムによって提供される標準のLinux / Unix / POSIX端末コマンドの限定バージョンです。特に(file copy)コマンドtoolbox
は存在しcp
ないため、cat file1 > file2
代わりに使用する必要があります。シェルで多くの時間を費やす場合は、インストールすることをお勧めしますbusybox
は、ます。これにより、標準POSIXコマンドのより豊富なセットが提供されます。
ここにアンドロイドシェルについて少しあります:http : //benno.id.au/blog/2007/11/13/android-under-the-hood
あなたと同じ問題につまずいたので、例を含むAndroidシェルの便利なコマンドのリストをコンパイルし始めました。ドイツ語版は、私のブログです。
「標準」のAndroidシェルコマンドの大部分は/ system / bin /にあり、それらの大部分は、busyboxに似ていますが、GPL-2ライセンス「 "issues"」のないbsdライセンスのアプレットセットであるToolboxにシンボリックリンクされます。 。ツールボックスは、GoogleがGPLコードへの依存を取り除く必要性を支援し、小規模で特定のAndroidタスクを対象としています。エンドユーザーが使用するためのものではありません。
ストックAndroidには組み込みのマニュアルはなく、ツールボックスアプレットには、コマンド、ツールボックス自体、およびオンラインからのドキュメントがありません。それらは、ほとんどのユーザーが標準POSIXタイプのツールと考えるものの非常に限られたコピーです。BSD-Utilsにより類似しているため、BSD Utilフラグは動作する可能性が高く、動作はPosixよりもBSD-Utilsに類似しています。それでも、ツールボックスアプレットにはこれらのフラグの多くがありません。
ドキュメントに最も近いのはソースコードです。これは、ほとんどのAndroidのようにオンラインで入手できます。以下は、ツールボックスソースのFroyoバージョンです。
。https //android.googlesource.com/platform/system/core/+/froyo/toolbox
必要なバージョンを見つけて。
メーカーによってコードが変わる可能性があることに注意してください。Samsungのツールボックスは、Motorolaのツールボックスとは異なります。ちなみに、Samsung Galaxy S ToolboxはSamsung Sidekick 4g(Galaxy Sベース)とは異なります。製造元は、独自の使用のためにアプレットを追加したり、特定の目的のためにデフォルトを変更したりする場合があります。restart
ツールボックス内のアプレットは、それが入った電話では機能しrestart
ますが、ビジーボックスアプレットは、特にパッチを当てない限り機能しません。Time
そしてDate
また異なっています。他にもあります。そのため、ToolboxはBusyboxや完全なGNU-Utilsなどで完全に置き換えることができるものではありません。
古いAndroidバージョンでは、シェルコマンドは次のいずれかになります。
type
コマンドが保存されている場所を示すために使用し、コマンドls -l
上でそれが実際のバイナリかシンボリックリンクかどうかを示します。Toolboxへのシンボリックリンクの場合、コマンドはToolboxの一部であることがわかります。
などのいくつかのコマンドはkill
、シェルビルトイン(これは通常実行されるバージョンです)と/system/bin
(このバージョンは通常実行されません)の両方で使用できます。type
実行するバージョンがわかります。
アンドロイド6.0「マシュマロ」として船までToybox、および(最も一般的に使用されるシェルコマンドのほとんどcp
、mv
、ls
、エトセトラ)はToyboxのおもちゃになる傾向があります。Toyboxのおもちゃには通常、組み込みのヘルプが含まれています。公式のマニュアルページは含まれていません。
それでも、Toyboxにはすべてが含まれているわけではないため、Toyboxによってすべてが提供されるわけではありません。たとえば、Android 6.0 "Marshmallow" fsck_msdos
(32 GB以下のSDカードのチェックにのみ使用する必要があります)でも、FreeBSDまたはNetBSDから取得されているようです。 fsck_exfat
(64 GB以上のほとんどのSDカードをチェックできます)は他の場所から取得されます。どこかわからない。
Androidの最新バージョンでは、シェルはmksh
、MirBSD Kornシェルです。mksh
実行中の場合、mksh
バージョンを確認するには、次を入力します。
echo $KSH_VERSION
Android Virtual Device(AVD)を起動し、adbでそれに接続し、問題のAndroidシェルコマンドを実行することをお勧めします。
pdurbin@macbook ~$ cd /Applications/eclipse/android-sdk-mac_x86/platform-tools
pdurbin@macbook platform-tools$ ./adb -s emulator-5554 shell
# /system/bin/pm
usage: pm [list|path|install|uninstall]
pm list packages [-f]
pm list permission-groups
pm list permissions [-g] [-f] [-d] [-u] [GROUP]
pm list instrumentation [-f] [TARGET-PACKAGE]
pm list features
pm path PACKAGE
pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
pm uninstall [-k] PACKAGE
pm enable PACKAGE_OR_COMPONENT
pm disable PACKAGE_OR_COMPONENT
pm setInstallLocation [0/auto] [1/internal] [2/external]
[snip]
使用画面を印刷するだけのAndroidシェルコマンドを提供するフラグを知っている人がいたら、教えてください。--help、-help、-h、-usageなどを試しました。
実行ls /system/bin
してみてくださいhttp://developer.android.com/guide/developing/tools/adb.html#shellcommands
Androidで使用されるシェルコマンドのセットはのようtoolbox
です。それに関する情報は中央集権化されていないように見えますが(これは私にはわかりにくいようですが)、周りの情報を検索して見つけることができます。
http://www.all-things-android.com/content/android-toolbox-command-reference
コマンドラインを「集中的に」使用する場合、BusyBoxがの代わりとして一般的に推奨されtoolbox
ます。
クレジット/関連:
/programming/41498651/how-to-execute-the-help-linux-command-on-android
https://github.com/jackpal/Android-Terminal-Emulator/wiki/Android-Shell-Command-Reference