Jak wyświetlić listę wszystkich plików w telefonie z systemem Android za pomocą powłoki adb?


89

Po prostu próbuję napisać powłokę bash dla mojego telefonu z Androidem.
Kiedy chcę wyświetlić listę wszystkich plików na moim telefonie z Androidem. Okazało się, że terminal powłoki Androida nie obsługuje findpolecenia.
Więc chcę tylko wiedzieć, jaki jest najlepszy sposób na podróżowanie po sdcardplikach?


3
Zwróć uwagę, że na zabezpieczonym urządzeniu z Androidem użytkownik powłoki nie ma uprawnień dostępu do wielu plików i listy wielu katalogów. Na emulatorze lub urządzeniu inżynierskim, na którym ADB działa jako root, dostęp do nich staje się możliwy.
— Chris Stratton

Wiem to. ale po prostu chcę podróżować z plikiem sdcard.i myślę, że nie może to obejmować uprawnień roota. w każdym razie dzięki!
— friddle

Odpowiedzi:


126

Mogę się mylić, ale "find -name __" działa dobrze. (Może to tylko mój telefon). Jeśli chcesz po prostu wyświetlić listę wszystkich plików, możesz spróbować

adb shell ls -R /

Prawdopodobnie potrzebujesz jednak uprawnień roota.

Edycja: jak sugerują inne odpowiedzi, użyj lsw grepnastępujący sposób:

adb shell ls -Ral yourDirectory | grep -i yourString

na przykład.

adb shell ls -Ral / | grep -i myfile

-isłuży do ignorowania wielkości liter. i /jest katalogiem głównym.


2
Większość urządzeń findz Androidem z oficjalną wersją nie ma polecenia, chociaż mogą one mieć niestandardowe ROMS lub inne instalacje busybox.
— Chris Stratton

1
mój telefon nie może uzyskać uprawnień roota! bardzo mi przykro z tego powodu. jeśli otrzymam uprawnienia roota. zainstaluję busybox. busybox to bardzo przydatne narzędzia
— friddle

Jeśli chcesz tylko sdcard, zamień / w tym poleceniu na punkt montowania sdcard w systemie, a następnie nie, nie powinieneś uruchamiać go jako root.
— Chris Stratton

29

Otwórz typ cmd, adb shella następnie naciśnij Enter. Wpisz, lsaby wyświetlić listę plików.


Po wyświetleniu monitu DOS adb shell ls -R > junkwyświetla wszystkie pliki i umieszcza wyniki w pliku, junkktóry możesz następnie edytować za pomocą Notatnika lub cokolwiek innego i zobaczyć więcej niż chcesz, ale także pliki!
— DSlomer64

4

wystarczy dodać pełne polecenie:

adb shell ls -R | grep filename

w rzeczywistości jest to dość szybkie wyszukiwanie w systemie Android


2
Nie da ci to ścieżki do pliku, wyświetli tylko raport, jeśli istnieje. Aby uzyskać ścieżkę, poleciłbym grep również raportować każdy przeszukiwany katalog ls, w następujący sposób:adb shell ls -laR | grep -E "filename|:$"
— volpato

1
lubię używaćls -lrta
— John Smith

3

To polecenie pokaże również, czy plik jest ukryty adb shell ls -laR | grep filename


1

Niektóre telefony z Androidem zawierają Busybox. Trudno było znaleźć.

Aby sprawdzić, czy w pobliżu był busybox:

ls -lR / | grep busybox

Jeśli wiesz, że to w pobliżu. Potrzebujesz trochę miejsca do odczytu / zapisu. Wypróbuj dysk flash, / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

przesłać na swój komputer. Prześlij plik. Zdobądź jakiś edytor tekstu. Wyszukaj busybox. Zobaczy, w jakim katalogu został znaleziony plik.

busybox find /sdcard -iname 'python*'

aby ułatwić dostęp do busybox, możesz:

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

Lub w dowolnym innym miejscu. R

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.