comando adb para buscar en el sistema de archivos

11

¿Hay un comando adb similar a "localizar" o "grep" que me ayudaría a encontrar un archivo en mi dispositivo Android?

Tengo curiosidad por adb específicamente, no por una aplicación de búsqueda.

EDITAR: se ha sugerido "buscar", pero en mi dispositivo ICS:

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

Sin embargo, en mi dispositivo Gingerbread funciona. (Excepto que no he rooteado ese dispositivo, por lo que carece de permiso).

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied
Hortensia
fuente
Busybox proporcionará greppero no locate(AFAIK).
eldarerathis
1
find también está disponible en dispositivos de stock.
Ryan Conrad
2
Al menos en ICS me dice "find: not found". :(
Hydrangea

Respuestas:

8

El comando find funciona bien en adb shell. La sintaxis es la siguiente find /path -name file_name. Para buscar áreas de solo lectura, necesitará root. Si el comando de búsqueda no está disponible en su dispositivo en particular, es posible que deba instalar BusyBox (busque en Market).

Por ejemplo,
adb shell find / -name *maps*
encontrará todos los archivos que contengan la palabra "mapas" en todo el sistema de archivos.

Chahk
fuente
44
Si este comando lo envuelve, /somedir/: Permission deniedagregue 2>/dev/nullel comando para silenciar los mensajes de error.
onik
1
find-> /system/bin/sh: find: not found- sin suerte. ¿Cómo instalo finden un dispositivo descorchado que el fabricante decidió no incluir finden el firmware?
Nombre para mostrar el
3

find La utilidad viene con BusyBox u otra tercera parte.

Para usar capacidades nativas, intente ( ls -Ren Android, grepen PC):

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

"find" es una aplicación de línea de comandos que normalmente se puede instalar como: 1. un ejecutable binario (la mayoría de las máquinas de escritorio) o 2. algo pequeño que hace muchas cosas donde una de ellas es "find" o 3. podría no estar disponible como teléfono A los fabricantes no les gusta que los usuarios tengan demasiado control sobre sus teléfonos

Lo más probable es que tenga un dispositivo ICS de marca (por ejemplo, Samsung): los fabricantes desean tener más control sobre el dispositivo que el propietario. Obtenga la raíz allí, luego instale busybox. Lo más probable es que el dispositivo sea algo llamado "/ system / bin / toolbox": puede ejecutar "/ system / bin / toolbox find", pero es probable que devuelva "ninguna herramienta" ya que el fabricante la quitó intencionalmente del dispositivo.

Sin embargo, es posible que su dispositivo tenga la función dentro de su caja de herramientas incluida, pero simplemente no "enlazada" ... si "/ system / bin / toolbox find" ejecutaría la función, entonces podría usar "ln / system / bin / find cuadro de herramientas "(podría haber desordenado el orden de los parámetros). Antes de ejecutar "ln ..." debe volver a montar el dispositivo en modo lectura-escritura (ya sea usando "adb root" o "su; mount -o remount, rw / system"

usuario2312654
fuente