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
grep
aber nichtlocate
(AFAIK).Antworten:
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.
quelle
/somedir/: Permission denied
Anhängen2>/dev/null
an den Befehl zum Stummschalten von Fehlermeldungen spammt .find
->/system/bin/sh: find: not found
- aus Glück. Wie installiere ichfind
auf einem kaputten Gerät, das der Hersteller nichtfind
in die Firmware aufgenommen hat?find
Dienstprogramm kommen mit BusyBox oder einem anderen 3. Teil.Um native Funktionen zu nutzen, versuchen Sie (
ls -R
auf Android,grep
auf PC):quelle
„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").
quelle