команда adb для поиска в файловой системе

11

Есть ли команда adb, похожая на «locate» или «grep», которая поможет мне найти файл на моем устройстве Android?

Меня интересует именно adb, а не приложение для поиска.

РЕДАКТИРОВАТЬ: «найти» было предложено, но на моем устройстве ICS:

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

На моем устройстве Gingerbread это работает, хотя. (За исключением того, что я не рутировал это устройство, поэтому у него нет разрешения.)

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied
Гортензия
источник
Busybox предоставит, grepно не locate(AFAIK).
eldarerathis
1
найти есть на стоковых устройствах я тоже верю.
Райан Конрад
2
На ICS, по крайней мере, он говорит мне "найти: не найдено". :(
Гортензия

Ответы:

8

Команда find хорошо работает в оболочке adb. Синтаксис есть find /path -name file_name. Для поиска областей только для чтения вам понадобится root. Если команда find недоступна на вашем конкретном устройстве, вам может потребоваться установить BusyBox (поиск в Маркете.)

Например,
adb shell find / -name *maps*
найдутся все файлы, содержащие слово «maps» во всей файловой системе.

Chahk
источник
4
Если эта команда рассылает спам, вы /somedir/: Permission deniedдобавляете 2>/dev/nullкоманду для отключения сообщений об ошибках.
onik
1
find-> /system/bin/sh: find: not found- не повезло. Как мне установить устройство findна устройство, которое производитель решил не включать findв прошивку?
Отображаемое имя
3

find Утилита поставляется с BusyBox или другой третьей части.

Чтобы использовать собственные возможности, попробуйте ( ls -Rна Android, grepна ПК):

adb shell ls -lR / | grep 'REGEX'
gavenkoa
источник
2

«find» - это приложение командной строки, которое обычно может быть установлено как: 1. двоичный исполняемый файл (большинство настольных компьютеров) или 2. что-то маленькое, выполняющее много вещей, где одним из них является «find» или 3. может быть недоступно как телефон производители не хотят, чтобы пользователи слишком сильно контролировали свои телефоны

Скорее всего, у вас есть одно фирменное (например, samsung) устройство ICS - производители хотят иметь больше контроля над устройством, чем владелец. Получите там root, затем установите busybox. Устройство, скорее всего, называется «/ system / bin / toolbox» - вы можете выполнить «/ system / bin / toolbox find», но оно, скорее всего, вернет «нет такого инструмента», поскольку производитель намеренно удалил его из устройства.

Однако возможно, что ваше устройство имеет функцию в своем наборе инструментов - но только не «символическую ссылку» ... если «/ system / bin / toolbox find» выполнит эту функцию, вы можете использовать «ln / system / bin / find» toolbox "команда (я мог бы испортить порядок параметров). Перед выполнением «ln ...» вы должны перемонтировать устройство в режиме чтения-записи (либо используя «adb root», либо «su; mount -o remount, rw / system»).

user2312654
источник