Adb shell kullanarak android telefondaki tüm dosyaları nasıl listeleyebilirim?


91

Sadece Android Telefonum için bir bash kabuğu yazmaya çalışıyorum.
Android Telefonumdaki tüm dosyaları listelemek istediğimde. Android kabuk terminalinin findkomutu desteklemediğini buldum .
Bu yüzden sdcarddosyaları dolaşmanın en iyi yolunun hangisi olduğunu bilmek istiyorum.


3
Güvenli bir Android cihazda, kabuk kullanıcısının birçok dosyaya erişme ve birçok dizini listeleme iznine sahip olmadığını unutmayın. ADB'nin kök olarak çalıştığı bir emülatör veya mühendislik cihazında, bunlara erişim mümkün hale gelir.
Chris Stratton

Biliyorum. ama sadece sdcard dosyasını gezmek istiyorum. kök iznini içermeyeceğini düşünüyorum. neyse teşekkürler!
friddle

Yanıtlar:


130

Yanılıyor olabilirim ama "-adı __ bul" benim için iyi çalışıyor. (Belki sadece benim telefonumdur.) Tüm dosyaları listelemek istiyorsanız, deneyebilirsiniz

adb shell ls -R /

Muhtemelen kök iznine ihtiyacınız var.

Düzenleme: Diğer cevaplar önermek gibi, kullanım lsile grepböyle:

adb shell ls -Ral yourDirectory | grep -i yourString

Örneğin.

adb shell ls -Ral / | grep -i myfile

-iyok sayma durumu içindir. ve /kök dizindir.


2
findÖzel ROMS veya diğer meşgul kutusu yüklemelerine sahip olanlar olabilir, ancak çoğu resmi sürüm android cihazda bir komut yoktur.
Chris Stratton

1
telefonum root iznini alamıyor! Bunun için çok üzgünüm. eğer root ön izini alırsam. busybox'ı kuracağım. busybox çok kullanışlı araçlar
friddle

Yalnızca sdcard istiyorsanız, bu komuttaki / karakterini sisteminizdeki sdcard'ın bağlama noktası ile değiştirin ve sonra hayır, onu root olarak çalıştırmanıza gerek kalmaz.
Chris Stratton

Telefonunuz köklü değilse, okunabilir bir dizinden listelemek için adb shell ls /storageveya kullanabilirsiniz adb shell ls -R --color=always /storage.
mchid

29

Cmd türünü açın ve adb shellenter tuşuna basın. Tip lsgörünüm dosyaları listeye.


DOS komut isteminde, adb shell ls -R > junktüm dosyaları listeler ve sonuçları junk, daha sonra Not Defteri veya herhangi bir şekilde düzenleyebileceğiniz ve istediğinizden daha fazlasını, ancak dosyalarınızı da görebileceğiniz dosyaya koyar !
DSlomer64

4

sadece tam komutu eklemek için:

adb shell ls -R | grep filename

bu aslında Android'de oldukça hızlı bir arama


2
Bu size dosya yolunu vermez, yalnızca varsa rapor verir. Yolu elde etmek için lsadb shell ls -laR | grep -E "filename|:$"
grep'e

1
kullanmayı seviyorumls -lrta
john Smith

3

Bu komut, dosyanın gizli olup olmadığını da gösterecektir. adb shell ls -laR | grep filename


2

Bazı Android telefonlar Busybox içerir. Bulması zordu.

Meşgul kutusunun etrafta olup olmadığını görmek için:

ls -lR / | grep busybox

Eğer etrafta olduğunu biliyorsanız. Biraz okuma / yazma alanına ihtiyacınız var. Flash sürücünüzü deneyin, / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

bilgisayarınıza yükleyin. Dosyayı yükleyin. Biraz metin düzenleyici edinin. Meşgul kutusunu arayın. Dosyanın hangi dizinde bulunduğunu görecek.

busybox find /sdcard -iname 'python*'

meşgul kutusuna erişimi kolaylaştırmak için şunları yapabilirsiniz:

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

Veya istediğiniz başka bir yer. R

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.