Есть ли команда 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
grep
но неlocate
(AFAIK).Ответы:
Команда find хорошо работает в оболочке adb. Синтаксис есть
find /path -name file_name
. Для поиска областей только для чтения вам понадобится root. Если команда find недоступна на вашем конкретном устройстве, вам может потребоваться установить BusyBox (поиск в Маркете.)Например,
adb shell find / -name *maps*
найдутся все файлы, содержащие слово «maps» во всей файловой системе.
источник
/somedir/: Permission denied
добавляете2>/dev/null
команду для отключения сообщений об ошибках.find
->/system/bin/sh: find: not found
- не повезло. Как мне установить устройствоfind
на устройство, которое производитель решил не включатьfind
в прошивку?find
Утилита поставляется с BusyBox или другой третьей части.Чтобы использовать собственные возможности, попробуйте (
ls -R
на Android,grep
на ПК):источник
«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»).
источник