commande adb pour rechercher le système de fichiers

11

Existe-t-il une commande adb similaire à "Locate" ou "Grep" qui m'aiderait à trouver un fichier sur mon appareil Android?

Je suis curieux de connaître adb en particulier, pas une application de recherche.

EDIT: "trouver" a été suggéré, mais sur mon appareil ICS:

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

Sur mon appareil Gingerbread, cela fonctionne, cependant. (Sauf que je n'ai pas rooté cet appareil, il n'a donc pas l'autorisation.)

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied
Hortensia
la source
Busybox fournira grepmais pas locate(AFAIK).
eldarerathis
1
trouver est disponible sur les appareils en stock, je crois aussi.
Ryan Conrad
2
Sur ICS au moins, il me dit "find: not found". :(
Hydrangea

Réponses:

8

La commande find fonctionne bien dans le shell adb. La syntaxe est find /path -name file_name. Pour rechercher des zones en lecture seule, vous aurez besoin de root. Si la commande find n'est pas disponible sur votre appareil particulier, vous devrez peut-être installer BusyBox (recherchez le marché.)

Par exemple,
adb shell find / -name *maps*
trouvera tous les fichiers qui contiennent des mots "maps" dans tout le système de fichiers.

Chahk
la source
4
Si cette commande vous spams avec /somedir/: Permission deniedajouter 2>/dev/nullà la commande pour couper les messages d'erreur.
onik
1
find-> /system/bin/sh: find: not found- pas de chance. Comment installer findsur un appareil borked que le fabricant a décidé de ne pas inclure finddans le firmware?
Nom d'affichage
3

find l'utilitaire est fourni avec BusyBox ou une autre 3ème partie.

Pour utiliser les capacités natives, essayez ( ls -Rsur Android, grepsur PC):

adb shell ls -lR / | grep 'REGEX'
gavenkoa
la source
2

"find" est une application en ligne de commande qui peut être normalement installée comme: 1. un exécutable binaire (la plupart des machines de bureau) ou 2. quelque chose de petit faisant beaucoup de choses où l'un d'eux est "find" ou 3. peut ne pas être disponible comme téléphone les fabricants n'aiment pas que les utilisateurs contrôlent trop leurs téléphones

Vous avez probablement un appareil ICS de marque (par exemple, Samsung) - les fabricants veulent avoir plus de contrôle sur l'appareil que le propriétaire. Prenez racine ici, puis installez busybox. Le périphérique est probablement quelque chose appelé "/ system / bin / toolbox" - vous pouvez exécuter "/ system / bin / toolbox find" mais il est probable qu'il ne renvoie "aucun outil de ce type" car le fabricant l'a intentionnellement supprimé de l'appareil.

Il est cependant possible que votre appareil ait la fonctionnalité dans sa boîte à outils fournie - mais tout simplement pas "symlinked" ... si "/ system / bin / toolbox find" exécuterait la fonctionnalité alors vous pourriez utiliser "ln / system / bin / find boîte à outils "(je pourrais avoir foiré l'ordre des paramètres). Avant d'exécuter "ln ...", vous devez remonter le périphérique en mode lecture-écriture (soit en utilisant "adb root" ou "su; mount -o remount, rw / system"

user2312654
la source