Come elencare tutti i file nel telefono Android utilizzando la shell adb?


91

Provo solo a scrivere una shell bash per il mio telefono Android.
Quando voglio elencare tutti i file nel mio telefono Android. Ho scoperto che il terminale della shell Android non supporta il findcomando.
Quindi voglio solo sapere qual è il modo migliore per viaggiare con i sdcardfile?


3
Tieni presente che su un dispositivo Android protetto, l'utente della shell non dispone dell'autorizzazione per accedere a molti file ed elencare molte directory. Su un emulatore o dispositivo di ingegneria in cui ADB viene eseguito come root, l'accesso a questi diventa possibile.
Chris Stratton

lo so, ma voglio solo viaggiare nel file della sdcard. penso che non possa coinvolgere il permesso di root. comunque grazie!
venerdì

Risposte:


130

Potrei sbagliarmi ma "find -name __" funziona bene per me. (Forse è solo il mio telefono.) Se vuoi solo elencare tutti i file, puoi provare

adb shell ls -R /

Probabilmente hai bisogno del permesso di root.

Edit: Come altre risposte suggeriscono, l'uso lsdi grepquesto modo:

adb shell ls -Ral yourDirectory | grep -i yourString

per esempio.

adb shell ls -Ral / | grep -i myfile

-iè per ignorare il caso. ed /è la directory principale.


2
La maggior parte dei dispositivi Android di rilascio ufficiale non ha un findcomando, anche se quelli con ROM personalizzate o altre installazioni di busybox possono.
Chris Stratton

1
! il mio telefono non può ottenere il permesso di root Sono molto dispiaciuto per that.if ottengo il premission.i radice installerà il busybox busybox.the è strumenti molto utili
friddle

Se vuoi solo la sdcard, sostituisci / in questo comando con il mountpoint della sdcard sul tuo sistema, e poi no, non dovresti aver bisogno di eseguirla come root.
Chris Stratton

Se il tuo telefono non è rootato, puoi usare adb shell ls /storageo adb shell ls -R --color=always /storageper elencare da una directory leggibile.
mchid

29

Apri il tipo di cmd adb shellquindi premi Invio. Digita lsper visualizzare l'elenco dei file.


Al prompt del DOS, adb shell ls -R > junkelenca tutti i file e inserisce i risultati in un file junkche puoi quindi modificare tramite Blocco note o qualsiasi altra cosa e vedere più di quanto desideri, ma anche i tuoi file!
DSlomer64

4

solo per aggiungere il comando completo:

adb shell ls -R | grep filename

questa è in realtà una ricerca piuttosto veloce su Android


2
Questo non ti darà il percorso del file, segnalerà solo se esiste. Per ottenere il percorso chiederei a grep di segnalare anche ogni directory da cui è stata lsadb shell ls -laR | grep -E "filename|:$"
eseguita la

1
mi piace usarels -lrta
john Smith

3

Questo comando mostrerà anche se il file è nascosto adb shell ls -laR | grep filename


2

Alcuni telefoni Android contengono Busybox. È stato difficile da trovare.

Per vedere se busybox era in giro:

ls -lR / | grep busybox

Se sai che è in giro. Hai bisogno di uno spazio di lettura / scrittura. Prova la tua unità flash, / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

caricare sul tuo computer. Carica il file. Procurati un editor di testo. Cerca busybox. Vedrà in quale directory è stato trovato il file.

busybox find /sdcard -iname 'python*'

per rendere più facile l'accesso a busybox, potresti:

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

O qualsiasi altro posto tu voglia. R

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.