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
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.
/somedir/: Permission denied
an 2>/dev/null
den Befehl anhängt, um Fehlermeldungen auszuschalten.find
-> /system/bin/sh: find: not found
— Pech gehabt. Wie installiere ich find
auf einem geborstenen Gerät, das der Hersteller nicht find
in die Firmware aufgenommen hat?find
Utility kommen mit BusyBox oder anderen 3rd-Teilen.
Um native Funktionen zu verwenden, versuchen Sie ( ls -R
auf Android, grep
auf 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"
Eldarerathis
grep
aber nicht liefernlocate
(AFAIK).Ryan Konrad
Hortensie