adb-Befehl zum Durchsuchen des Dateisystems

Gibt es einen adb-Befehl ähnlich wie „locate“ oder „grep“, der mir helfen würde, eine Datei auf meinem Android-Gerät zu finden?

Ich bin neugierig auf adb, nicht auf eine Such-App.

BEARBEITEN: "finden" wurde vorgeschlagen, aber auf meinem ICS-Gerät:

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

Auf meinem Gingerbread-Gerät funktioniert es jedoch. (Außer, dass ich dieses Gerät nicht gerootet habe, also fehlt ihm die Berechtigung.)

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied
Busybox wird das grepaber nicht liefern locate(AFAIK).
find ist meiner Meinung nach auch auf Lagergeräten verfügbar.
Bei ICS sagt es mir zumindest "find: not found". :(

Antworten (3)

Der Find-Befehl funktioniert gut in der Adb-Shell. Die Syntax ist find /path -name file_name. Für die Suche in Nur-Lese-Bereichen benötigen Sie root. Wenn der Find-Befehl auf Ihrem Gerät nicht verfügbar ist, müssen Sie möglicherweise BusyBox installieren (durchsuchen Sie den Market).

Beispielsweise
adb shell find / -name *maps*
werden im gesamten Dateisystem alle Dateien gefunden, die das Wort „maps“ enthalten.

Wenn dieser Befehl Sie mit Spam /somedir/: Permission deniedan 2>/dev/nullden Befehl anhängt, um Fehlermeldungen auszuschalten.
find-> /system/bin/sh: find: not found— Pech gehabt. Wie installiere ich findauf einem geborstenen Gerät, das der Hersteller nicht findin die Firmware aufgenommen hat?
@DisplayName hast du einen Weg gefunden find zu installieren???

findUtility kommen mit BusyBox oder anderen 3rd-Teilen.

Um native Funktionen zu verwenden, versuchen Sie ( ls -Rauf Android, grepauf dem PC):

adb shell ls -lR / | grep 'REGEX'

"find" ist eine Befehlszeilenanwendung, die normalerweise installiert wird als: 1. eine ausführbare Binärdatei (die meisten Desktop-Computer) oder 2. etwas Kleines, das viele Dinge tut, von denen eines "find" ist, oder 3. möglicherweise nicht als Telefon verfügbar ist Hersteller möchten nicht, dass Benutzer zu viel Kontrolle über ihre Telefone haben

Höchstwahrscheinlich haben Sie ein Marken-ICS-Gerät (z. B. Samsung) - Hersteller möchten mehr Kontrolle über das Gerät haben als der Eigentümer. Dort rooten und dann busybox installieren. Das Gerät ist höchstwahrscheinlich etwas namens "/system/bin/toolbox" - Sie könnten "/system/bin/toolbox find" ausführen, aber es wird wahrscheinlich "no such tool" zurückgeben, da der Hersteller es absichtlich vom Gerät entfernt hat.

Es ist jedoch möglich, dass Ihr Gerät die Funktion in seiner gebündelten Toolbox hat - aber nur nicht "symlinked" ... wenn "/system/bin/toolbox find" die Funktion ausführen würde, könnten Sie "ln /system/bin/find toolbox"-Befehl (ich habe möglicherweise die Reihenfolge der Parameter durcheinander gebracht). Bevor Sie "ln ..." ausführen, müssen Sie das Gerät im Lese-/Schreibmodus erneut einhängen (entweder mit "adb root" oder "su;mount -o remount,rw /system"