Como listar todos os arquivos no telefone Android usando o shell adb?


91

Eu apenas tento escrever um shell bash para meu telefone Android.
Quando eu quiser listar todos os arquivos em meu telefone Android. Descobri que o terminal shell do Android não oferece suporte a findcomandos.
Só quero saber qual a melhor forma de viajar os sdcardarquivos?


3
Observe que, em um dispositivo Android seguro, o usuário do shell não tem permissão para acessar muitos arquivos e listar muitos diretórios. Em um emulador ou dispositivo de engenharia onde o ADB é executado como root, o acesso a eles se torna possível.
Chris Stratton

Eu sei disso. mas eu só quero percorrer o arquivo do sdcard. Acho que não poderia envolver a permissão de root. de qualquer maneira, obrigado!
friddle

Respostas:


129

Posso estar errado, mas "find -name __" funciona bem para mim. (Talvez seja apenas meu telefone.) Se você deseja apenas listar todos os arquivos, pode tentar

adb shell ls -R /

Você provavelmente precisa da permissão de root.

Editar: como outras respostas sugerem, use lscom grepeste:

adb shell ls -Ral yourDirectory | grep -i yourString

por exemplo.

adb shell ls -Ral / | grep -i myfile

-ié para ignorar caso. e /é o diretório raiz.


2
A maioria dos dispositivos Android de lançamento oficial não tem um findcomando, embora aqueles com ROMS personalizados ou outras instalações de busybox possam.
Chris Stratton

1
meu telefone não consegue a permissão de root! Lamento muito por isso. se eu obtiver a premissa de root.i instalarei o busybox. o busybox é uma ferramenta muito útil
friddle

Se você deseja apenas o sdcard, substitua / neste comando pelo ponto de montagem do sdcard em seu sistema e, então, não, você não deve precisar executá-lo como root.
Chris Stratton

Se o seu telefone não tiver acesso root, você pode usar adb shell ls /storageou adb shell ls -R --color=always /storagepara listar a partir de um diretório legível.
mchid

29

Abra o tipo de cmd adb shelle pressione Enter. Digite lspara ver a lista de arquivos.


No prompt do DOS, adb shell ls -R > junklista todos os arquivos e coloca os resultados em um arquivo junkque você pode editar via Notepad ou qualquer outro lugar e ver mais do que você gostaria, mas seus arquivos também!
DSlomer64

4

apenas para adicionar o comando completo:

adb shell ls -R | grep filename

esta é na verdade uma pesquisa bem rápida no Android


2
Isso não fornecerá o caminho do arquivo, apenas informará se ele existir. Para obter o caminho, eu instruiria o grep a também relatar todos os diretórios rastreados ls, assim:adb shell ls -laR | grep -E "filename|:$"
volpato

1
eu gosto de usarls -lrta
john Smith

3

Este comando irá mostrar também se o arquivo está escondido adb shell ls -laR | grep filename


2

Alguns telefones Android contêm Busybox. Foi difícil encontrar.

Para ver se o busybox estava por perto:

ls -lR / | grep busybox

Se você sabe que está por aí. Você precisa de algum espaço de leitura / gravação. Experimente seu flash drive / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

carregue para o seu computador. Faça upload do arquivo. Obtenha algum editor de texto. Procure por busybox. Verá em qual diretório o arquivo foi encontrado.

busybox find /sdcard -iname 'python*'

para tornar o Busybox mais fácil de acessar, você pode:

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

Ou qualquer outro lugar que você quiser. R

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.