Wie liste ich alle Dateien in Android Phone mit AdB Shell auf?

85

Ich versuche nur, eine Bash-Shell für mein Android-Handy zu schreiben.
Wenn ich alle Dateien in meinem Android Phone auflisten möchte. Ich habe festgestellt, dass das Android-Shell-Terminal keinen findBefehl unterstützt.
Ich möchte nur wissen, wie die sdcardDateien am besten übertragen werden können.

friddle
quelle
3
Beachten Sie, dass auf einem gesicherten Android-Gerät dem Shell-Benutzer die Berechtigung zum Zugriff auf viele Dateien und zum Auflisten vieler Verzeichnisse fehlt. Auf einem Emulator oder Engineering-Gerät, auf dem ADB als Root ausgeführt wird, ist der Zugriff auf diese möglich.
Chris Stratton
Ich weiß es. Aber ich möchte nur die Datei der SD-Karte übertragen. Ich denke, es könnte nicht die Root-Berechtigung beinhalten. trotzdem danke!
Friddle

Antworten:

122

Ich könnte mich irren, aber "find -name __" funktioniert gut für mich. (Vielleicht ist es nur mein Telefon.) Wenn Sie nur alle Dateien auflisten möchten, können Sie es versuchen

adb shell ls -R /

Sie benötigen wahrscheinlich die Root-Berechtigung.

Edit: Wie andere Antworten vorschlagen, Verwendung lsmit grepwie folgt aus :

adb shell ls -Ral yourDirectory | grep -i yourString

z.B.

adb shell ls -Ral / | grep -i myfile

-iist für Ignorierfall. und /ist das Stammverzeichnis.

pt2121
quelle
2
Die meisten offiziellen Android-Geräte verfügen nicht über einen findBefehl, obwohl dies bei benutzerdefinierten ROMs oder anderen Busybox-Installationen der Fall sein kann.
Chris Stratton
1
Mein Telefon kann die Root-Berechtigung nicht erhalten! Das tut mir sehr leid. Wenn ich die Root-Berechtigung erhalte, werde ich die Busybox installieren. Die Busybox ist ein sehr nützliches Werkzeug
Friddle
Wenn Sie nur die SD-Karte möchten, ersetzen Sie das / in diesem Befehl durch den Mountpunkt der SD-Karte auf Ihrem System. Nein, Sie sollten es nicht als Root ausführen müssen.
Chris Stratton
29

Öffnen Sie den cmd-Typ adb shellund drücken Sie die Eingabetaste. Geben Sie ein ls, um die Dateiliste anzuzeigen.

Fauzi
quelle
adb shell ls -R > junkListet an der DOS-Eingabeaufforderung alle Dateien auf und fügt die Ergebnisse in eine Datei ein, junkdie Sie dann über den Editor oder was auch immer bearbeiten können und mehr sehen können, als Sie möchten, aber auch Ihre Dateien!
DSlomer64
4

Nur um den vollständigen Befehl hinzuzufügen:

adb shell ls -R | grep filename

Dies ist eigentlich eine ziemlich schnelle Suche auf Android

Renegat
quelle
2
Dadurch erhalten Sie nicht den Dateipfad, sondern nur Berichte, wenn dieser vorhanden ist. Um den Pfad zu erhalten, würde ich grep anweisen, auch jedes Verzeichnis zu melden, von dem lsadb shell ls -laR | grep -E "filename|:$"
gecrawlt
Ich benutze gernels -lrta
John Smith
3

Dieser Befehl zeigt auch an, ob die Datei ausgeblendet ist adb shell ls -laR | grep filename

Mischa
quelle
1

Einige Android-Handys enthalten Busybox. War schwer zu finden.

Um zu sehen, ob eine Busybox vorhanden war:

ls -lR / | grep busybox

Wenn Sie wissen, dass es da ist. Sie benötigen etwas Lese- / Schreibbereich. Versuchen Sie es mit einem Flash-Laufwerk / sdcard

cd /sdcard
ls -lR / >lsoutput.txt

auf Ihren Computer hochladen. Laden Sie die Datei hoch. Holen Sie sich einen Texteditor. Suche nach Busybox. Wird sehen, in welchem ​​Verzeichnis die Datei gefunden wurde.

busybox find /sdcard -iname 'python*'

Um den Zugriff auf die Busybox zu erleichtern, können Sie:

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

Oder an jedem anderen Ort, den Sie wollen. R.

historystamp
quelle