¿Cómo enumerar todos los archivos en un teléfono Android usando adb shell?

89

Solo intento escribir un shell bash para mi teléfono Android.
Cuando quiero enumerar todos los archivos en mi teléfono Android. Descubrí que el terminal de shell de Android no admite el findcomando.
Entonces, solo quiero saber cuál es la mejor manera de viajar por los sdcardarchivos.

friddle
fuente
3
Tenga en cuenta que en un dispositivo Android seguro, el usuario de shell no tiene permiso para acceder a muchos archivos y enumerar muchos directorios. En un emulador o dispositivo de ingeniería donde ADB se ejecuta como root, el acceso a estos es posible.
Chris Stratton
Lo sé. pero solo quiero viajar por el archivo de la tarjeta sd. Creo que no podría involucrar el permiso de root. ¡gracias de todos modos!
friddle

Respuestas:

126

Puede que esté equivocado, pero "buscar -nombre __" funciona bien para mí. (Tal vez sea solo mi teléfono). Si solo desea enumerar todos los archivos, puede intentar

adb shell ls -R /

Sin embargo, probablemente necesite el permiso de root.

Edit: Como otras respuestas sugieren, el uso lsde grepla siguiente manera:

adb shell ls -Ral yourDirectory | grep -i yourString

p.ej.

adb shell ls -Ral / | grep -i myfile

-ies para ignorar el caso. y /es el directorio raíz.

pt2121
fuente
2
La mayoría de los dispositivos Android de lanzamiento oficial no tienen un findcomando, aunque los que tienen ROMS personalizados u otras instalaciones de busybox pueden hacerlo .
Chris Stratton
1
Mi teléfono no puede obtener el permiso de la raíz i siento mucho por that.if consigo el premission.i raíz instalará el busybox busybox.the son las herramientas muy útiles
Friddle
Si solo desea la sdcard, reemplace / en este comando con el punto de montaje de la sdcard en su sistema, y ​​luego no, no debería necesitar ejecutarlo como root.
Chris Stratton
29

Abra el tipo cmd y adb shellluego presione enter. Escriba lspara ver la lista de archivos.

fauzi
fuente
En el indicador de DOS, adb shell ls -R > junkenumera todos los archivos y coloca los resultados en un archivo junkque luego puede editar a través del Bloc de notas o lo que sea y ver más de lo que le gustaría, ¡pero también sus archivos!
DSlomer64
4

solo para agregar el comando completo:

adb shell ls -R | grep filename

esta es en realidad una búsqueda bastante rápida en Android

renegado
fuente
2
Esto no le dará la ruta del archivo, solo informará si existe. Para obtener la ruta, le indicaría a grep que también informe cada directorio rastreado ls, como este:adb shell ls -laR | grep -E "filename|:$"
volpato
1
me gusta usarls -lrta
john Smith
3

Este comando también mostrará si el archivo está oculto adb shell ls -laR | grep filename

Misha
fuente
1

Algunos teléfonos Android contienen Busybox. Fue difícil de encontrar.

Para ver si busybox estaba cerca:

ls -lR / | grep busybox

Si sabes que está cerca. Necesita algo de espacio de lectura / escritura. Prueba tu unidad flash, / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

cargar en su computadora. Sube el archivo. Consigue un editor de texto. Busque busybox. Verá en qué directorio se encontró el archivo.

busybox find /sdcard -iname 'python*'

Para facilitar el acceso a busybox, puede:

cd /sdcard
ln -s /where/ever/busybox/is  busybox
/sdcard/busybox find /sdcard -iname 'python*'

O cualquier otro lugar que desee. R

sello de historia
fuente