Як перерахувати всі файли на телефоні Android за допомогою оболонки adb?


89

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


3
Зверніть увагу, що на захищеному пристрої Android користувач оболонки не має дозволу на доступ до багатьох файлів та переліку багатьох каталогів. На емуляторі чи інженерному пристрої, де ADB працює як корінь, доступ до них стає можливим.
Кріс Страттон,

я це знаю. але я просто хочу перемістити файл sdcard. я думаю, що це не може включати дозвіл root. у будь-якому разі спасибі!
скрипка

Відповіді:


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призначений для випадку ігнорування. і /є кореневим каталогом.


2
Більшість пристроїв Android з офіційним випуском не мають findкоманди, хоча ті, на яких встановлені користувацькі ПЗУ або інші програми інсталяції busybox, можуть.
Кріс Страттон,

1
мій телефон не може отримати root-дозвіл! я дуже шкодую за це. якщо я отримаю root-дозвіл. я встановлю busybox. busybox є дуже корисними інструментами
friddle

Якщо вам потрібна лише sdcard, замініть / у цій команді на точку монтування sdcard у вашій системі, а тоді ні, вам не потрібно запускати її як root.
Chris Stratton

29

Відкрийте тип cmd, adb shellа потім натисніть клавішу enter. Введіть, 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. Важко було знайти.

Щоб дізнатись, чи не було зайнято:

ls -lR / | grep busybox

Якщо ви знаєте, що це поруч. Вам потрібно трохи місця для читання / запису. Спробуйте флешку, / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

завантажте на свій комп’ютер. Завантажте файл. Отримати текстовий редактор. Пошук зайнятого. Побачить, в якому каталозі був знайдений файл.

busybox find /sdcard -iname 'python*'

щоб полегшити доступ до busybox, ви можете:

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

Або будь-яке інше місце, яке ви хочете. Р.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.