Как перечислить все файлы на телефоне Android с помощью оболочки adb?

89

Я просто пытаюсь написать оболочку bash для своего телефона Android.
Когда я хочу перечислить все файлы на моем телефоне Android. Я обнаружил, что терминал оболочки Android не поддерживает findкоманду.
Я просто хочу знать, как лучше всего перемещать sdcardфайлы?

возня
источник
3
Обратите внимание, что на защищенном устройстве Android у пользователя оболочки нет разрешения на доступ ко многим файлам и списку многих каталогов. На эмуляторе или инженерном устройстве, где ADB работает от имени пользователя root, становится возможным доступ к ним.
Крис Стрэттон
Я знаю это. Но я просто хочу путешествовать по файлу SDCard. Я думаю, что это не может включать разрешение root. в любом случае, спасибо!
friddle

Ответы:

126

Возможно, я ошибаюсь, но «find -name __» мне подходит. (Возможно, это просто мой телефон.) Если вы просто хотите перечислить все файлы, вы можете попробовать

adb shell ls -R /

Однако вам, вероятно, понадобится разрешение root.

Изменить: Как и другие ответы предполагают, использование lsс grepтак:

adb shell ls -Ral yourDirectory | grep -i yourString

например.

adb shell ls -Ral / | grep -i myfile

-iдля игнорирования. и /является корневым каталогом.

pt2121
источник
2
Большинство устройств Android с официальными findвыпусками не имеют команды, хотя устройства с пользовательскими ПЗУ или другими установками busybox могут.
Крис Стрэттон
1
мой телефон не может получить права root! мне очень жаль. если я получу root premission. я установлю busybox. busybox - очень полезные инструменты
friddle
Если вам нужна только SD-карта, замените / в этой команде точкой монтирования SD-карты в вашей системе, и тогда нет, вам не нужно запускать ее с правами root.
Крис Стрэттон,
29

Откройте тип cmd, adb shellзатем нажмите ввод. Введите lsдля просмотра списка файлов.

фаузи
источник
В командной строке DOS adb shell ls -R > junkперечисляет все файлы и помещает результаты в файл, junkкоторый вы затем можете редактировать с помощью Блокнота или другого устройства и видеть больше, чем вы бы хотели, но и ваши файлы тоже!
DSlomer64
4

просто чтобы добавить полную команду:

adb shell ls -R | grep filename

на самом деле это довольно быстрый поиск на Android

отступник
источник
2
Это не даст вам путь к файлу, он только сообщит, если он существует. Чтобы получить путь, я бы проинструктировал grep также сообщать обо всех просканированных каталогах ls, например:adb shell ls -laR | grep -E "filename|:$"
volpato
1
я люблю использоватьls -lrta
Джон Смит
3

Эта команда также покажет, скрыт ли файл adb shell ls -laR | grep filename

Миша
источник
1

Некоторые телефоны Android содержат Busybox. Трудно было найти.

Чтобы узнать, был ли здесь busybox:

ls -lR / | grep busybox

Если ты знаешь, что это рядом. Вам нужно немного места для чтения / записи. Пробуй флешку, / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

загрузить на свой компьютер. Загрузите файл. Найдите текстовый редактор. Найдите busybox. Увидит, в каком каталоге был найден файл.

busybox find /sdcard -iname 'python*'

чтобы упростить доступ к busybox, вы можете:

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

Или в любом другом месте, где вы хотите. р

штамп истории
источник