13 votos

El comando adb para buscar en el sistema de archivos

¿Hay algún comando adb similar a "locate" o "grep" que me ayude a encontrar un archivo en mi dispositivo Android?

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

Se ha sugerido "encontrar", pero en mi dispositivo ICS:

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

En mi aparato de pan de jengibre funciona, sin embargo. (Excepto que no he rooteado ese dispositivo por lo que carece de permiso.)

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied

0 votos

Busybox proporcionará grep pero no locate (AFAIK).

1 votos

Find está disponible en los dispositivos de stock creo también.

2 votos

Al menos en ICS me dice "find: not found" :(

10voto

Chahk Puntos 15796

El comando "encontrar" funciona bien en el shell de Adb. La sintaxis es find /path -name file_name . Para la búsqueda de las áreas de lectura sólo necesitarás a Root. Si el comando de búsqueda no está disponible en tu dispositivo particular, puede que necesites instalar BusyBox (busca en el Mercado.)

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

6 votos

Si este comando le hace un seguimiento de /somedir/: Permission denied adjuntar 2>/dev/null al comando para silenciar los mensajes de error.

1 votos

find -> /system/bin/sh: find: not found - no tiene suerte. ¿Cómo puedo instalar find en un dispositivo defectuoso que el fabricante decidió no incluir find en el firmware?

6voto

gavenkoa Puntos 111

find utilidad vienen con BusyBox u otra tercera parte.

Para utilizar las capacidades nativas pruebe ( ls -R en Android, grep en el PC):

adb shell ls -lR / | grep 'REGEX'

3voto

Altoman Puntos 21

"find" es una aplicación de línea de comandos que puede ser normalmente se instala como: 1. un ejecutable binario (la mayoría de las máquinas de escritorio) o 2. algo pequeño que hace muchas cosas y una de ellas es "encontrar" o 3. podría no estar disponible, ya que a los fabricantes de teléfonos 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 quieren tener más control sobre el dispositivo que el propietario. Ganar Root allí, a continuación, instalar busybox. Lo más probable es que el dispositivo sea algo llamado "/system/bin/toolbox" - podrías ejecutar "/system/bin/toolbox find" pero es probable que devuelva "no such tool" ya que el fabricante lo eliminó intencionadamente del dispositivo.

Sin embargo, es posible que su dispositivo tenga la función dentro de su caja de herramientas incluida - pero no "symlinked"... si "/system/bin/toolbox find" ejecutaría la función, entonces podría utilizar el comando "ln /system/bin/find toolbox" (puede que me haya equivocado en el orden de los parámetros). Antes de ejecutar "ln ..." debes volver a montar el dispositivo en modo lectura-escritura (ya sea usando "adb Root" o "su;mount -o remount,rw /system"

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X