ファイルシステムを検索するadbコマンド


11

「locate」や「​​grep」に似たadbコマンドがAndroidデバイスでファイルを見つけるのに役立ちますか?

検索アプリではなく、adbに特に興味があります。

編集:「検索」が提案されましたが、私のICSデバイスでは:

hydrangea@turnsole:~$ adb shell find / -name *maps*
/system/bin/sh: find: not found

私のジンジャーブレッドデバイスでは動作しますが。(私はそのデバイスをルート化していないので許可がないのを除いて)

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied

Busyboxは提供しますgrepが提供しませんlocate(AFAIK)。
eldarerathis

1
findは、私が信じている在庫のデバイスでも利用できます。
ライアンコンラッド

2
ICSでは少なくとも、「検索:見つかりません」と表示されます。:(
アジサイ

回答:


8

findコマンドはadbシェルでうまく機能します。構文はfind /path -name file_nameです。読み取り専用エリアを検索するには、ルートが必要です。特定のデバイスでfindコマンドを使用できない場合は、BusyBoxをインストールする必要があります(マーケットを検索してください)。

たとえば、
adb shell find / -name *maps*
ファイルシステム全体で「マップ」という単語を含むすべてのファイルを検索します。


4
このコマンドがエラーメッセージをミュートするコマンドに/somedir/: Permission denied追加2>/dev/nullしてスパムする場合。
onik

1
find-> /system/bin/sh: find: not found—運が悪かった。find製造元がfindファームウェアに含めないことを決定した不良デバイスにどのようにインストールしますか?
表示名

3

find ユーティリティは、BusyBoxまたは別の3番目のパーツに付属しています。

ネイティブ機能を使用するにはls -R、(Android、grepPC)を試してください:

adb shell ls -lR / | grep 'REGEX'

2

「検索」は、通常は次のようにインストールされるコマンドラインアプリケーションです。1。バイナリ実行可能ファイル(ほとんどのデスクトップマシン)または2.何かが「検索」または多くのことを行う小さなもの3.電話として使用できない場合メーカーは、ユーザーが自分の電話を過度に制御することを望まない

ほとんどの場合、ブランド化された(samsungなどの)ICSデバイスを所有しています-メーカーは、所有者よりもデバイスをより細かく制御したいと考えています。そこでrootを取得し、busyboxをインストールします。デバイスはおそらく「/ system / bin / toolbox」と呼ばれるものです。「/ system / bin / toolbox find」を実行できますが、製造元が意図的にデバイスからデバイスを削除したため、「no such tool」を返す可能性があります。

ただし、デバイスにバンドルされたツールボックス内に機能がある可能性がありますが、「シンボリックリンク」されていないだけです...「/ system / bin / toolbox find」が機能を実行する場合は、「ln / system / bin / find」を使用できます。ツールボックス」コマンド(パラメーターの順序を混乱させた可能性があります)。「ln ...」を実行する前に、デバイスを読み取り/書き込みモードで再マウントする必要があります(「adb root」または「su; mount -o remount、rw / system」を使用して)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.