Befehl adb zum Durchsuchen des Dateisystems

11

Gibt es einen ADB-Befehl ähnlich "Suchen" oder "Grep", mit dem ich eine Datei auf meinem Android-Gerät finden kann?

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

EDIT: "find" wurde vorgeschlagen, aber auf meinem ICS-Gerät:

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

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

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied
Hortensie
quelle
Busybox bietet grepaber nicht locate(AFAIK).
Eldarerathis
1
find ist auf Lagergeräten verfügbar, glaube ich auch.
Ryan Conrad
2
Zumindest auf ICS sagt es mir "find: not found". :(
Hydrangea

Antworten:

8

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

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

Chahk
quelle
4
Wenn dieser Befehl Sie mit dem /somedir/: Permission deniedAnhängen 2>/dev/nullan den Befehl zum Stummschalten von Fehlermeldungen spammt .
Onik
1
find-> /system/bin/sh: find: not found- aus Glück. Wie installiere ich findauf einem kaputten Gerät, das der Hersteller nicht findin die Firmware aufgenommen hat?
Anzeigename
3

find Dienstprogramm kommen mit BusyBox oder einem anderen 3. Teil.

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

adb shell ls -lR / | grep 'REGEX'
Gavenkoa
quelle
2

„finden“ ist ein Kommandozeilen - Anwendung , die möglicherweise werden normalerweise als installiert: 1. eine ausführbare Binärdatei ( die meisten Desktop - Computer) oder 2. etwas kleiner zu tun viele Dinge , wo einer von ihnen ist „finden“ oder 3. möglicherweise nicht als Telefon verfügbar 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 Besitzer. Holen Sie sich dort root und installieren Sie die Busybox. Das Gerät heißt höchstwahrscheinlich "/ system / bin / toolbox" - Sie könnten "/ system / bin / toolbox find" ausführen, aber es wird wahrscheinlich "kein solches 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 mitgelieferten Toolbox hat - aber nicht "symlinked" ... Wenn "/ system / bin / toolbox find" die Funktion ausführen würde, könnten Sie "ln / system / bin / find" verwenden 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 bereitstellen (entweder mit "adb root" oder "su; mount -o remount, rw / system").

user2312654
quelle