comando adb para pesquisar no sistema de arquivos

11

Existe um comando adb semelhante a "localizar" ou "grep" que me ajudaria a encontrar um arquivo no meu dispositivo Android?

Estou curioso sobre o adb especificamente, não sobre um aplicativo de pesquisa.

EDIT: "find" foi sugerido, mas no meu dispositivo ICS:

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

No meu dispositivo Gingerbread, ele funciona. (Exceto que eu não enraizei esse dispositivo, por isso ele não tem permissão.)

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied
Hortênsia
fonte
O Busybox fornecerá, grepmas não locate(AFAIK).
Eldarerathis
11
O achado também está disponível em dispositivos de estoque.
21912 Ryan Conrad
2
No ICS, pelo menos, ele diz "find: not found". :(
Hortênsia

Respostas:

8

O comando find funciona bem no shell adb. A sintaxe é find /path -name file_name. Para pesquisar áreas somente leitura, você precisará de raiz. Se o comando find não estiver disponível no seu dispositivo em particular, pode ser necessário instalar o BusyBox (pesquise no Market.)

Por exemplo,
adb shell find / -name *maps*
encontrará todos os arquivos que contêm a palavra "mapas" em todo o sistema de arquivos.

Chahk
fonte
4
Se esse comando for spam, /somedir/: Permission deniedacrescente 2>/dev/null-o ao comando para silenciar as mensagens de erro.
Onik
11
find-> /system/bin/sh: find: not found- sem sorte. Como instalo findem um dispositivo com bork que o fabricante decidiu não incluir findno firmware?
Nome de exibição
3

find utilitário vem com o BusyBox ou outras 3ª partes.

Para usar os recursos nativos, tente ( ls -Rno android, grepno PC):

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

"find" é um aplicativo de linha de comando que normalmente pode ser instalado como: 1. um executável binário (a maioria das máquinas de mesa) ou 2. algo pequeno fazendo muitas coisas em que um deles é "find" ou 3. pode não estar disponível como telefone os fabricantes não gostam que os usuários tenham muito controle sobre seus telefones

Provavelmente você possui um dispositivo ICS da marca (ex. Samsung) - os fabricantes desejam ter mais controle sobre o dispositivo do que o proprietário. Ganhe raiz lá e instale o busybox. O dispositivo provavelmente é algo chamado "/ system / bin / toolbox" - você pode executar "/ system / bin / toolbox find", mas é provável que não retorne "nenhuma ferramenta desse tipo", pois o fabricante o removeu intencionalmente do dispositivo.

No entanto, é possível que seu dispositivo tenha o recurso dentro de sua caixa de ferramentas - mas apenas não "vinculado" ... se "/ system / bin / toolbox find" executasse o recurso, você poderia usar "ln / system / bin / find caixa de ferramentas "(eu poderia ter mexido na ordem dos parâmetros). Antes de executar "ln ...", você deve remontar o dispositivo no modo de leitura e gravação (usando "adb root" ou "su; mount -o remount, rw / system"

user2312654
fonte