adb perintah untuk mencari filesystem

11

Apakah ada perintah adb yang mirip dengan "temukan" atau "grep" yang akan membantu saya menemukan file di perangkat Android saya?

Saya ingin tahu tentang adb secara khusus, bukan aplikasi pencarian.

EDIT: "find" telah disarankan, tetapi di perangkat ICS saya:

hydrangea@turnsole:~$ adb shell find / -name *maps*
/system/bin/sh: find: not found

Pada perangkat Gingerbread saya, ini berfungsi. (Kecuali saya belum me-rooting perangkat itu sehingga tidak memiliki izin.)

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied
Hydrangea
sumber
Busybox akan menyediakan greptetapi tidak locate(AFAIK).
eldarerathis
1
temukan tersedia di perangkat stok saya percaya juga.
Ryan Conrad
2
Pada ICS setidaknya itu memberitahu saya "find: not found". :(
Hydrangea

Jawaban:

8

Perintah find bekerja dengan baik di adb shell. Sintaksnya adalah find /path -name file_name. Untuk mencari area hanya baca Anda perlu root. Jika perintah find tidak tersedia di perangkat khusus Anda, Anda mungkin perlu menginstal BusyBox (cari Pasar.)

Misalnya,
adb shell find / -name *maps*
akan menemukan semua file yang berisi kata "peta" di seluruh sistem file.

Chahk
sumber
4
Jika perintah ini membohongi Anda dengan /somedir/: Permission deniedmenambahkan 2>/dev/nullperintah untuk membisukan pesan kesalahan.
onik
1
find-> /system/bin/sh: find: not found- kurang beruntung. Bagaimana cara saya menginstal findke perangkat borked yang produsen memutuskan untuk tidak memasukkan findke dalam firmware?
Nama Tampilan
3

find utilitas datang dengan BusyBox atau bagian ke-3 lainnya.

Untuk menggunakan kemampuan asli, coba ( ls -Rdi android, grepdi PC):

adb shell ls -lR / | grep 'REGEX'
gavenkoa
sumber
2

"menemukan" adalah aplikasi baris perintah yang mungkin biasanya dipasang sebagai: 1. executable biner (kebanyakan mesin desktop) atau 2. sesuatu yang kecil melakukan banyak hal di mana salah satunya adalah "menemukan" atau 3. mungkin tidak tersedia sebagai telepon produsen tidak suka pengguna memiliki terlalu banyak kendali atas ponsel mereka

Kemungkinan besar Anda memiliki satu perangkat ICS bermerek (mis. Samsung) - pabrikan ingin memiliki lebih banyak kendali pada perangkat daripada pemiliknya. Dapatkan root di sana, lalu instal busybox. Perangkat kemungkinan besar sesuatu yang disebut "/ system / bin / toolbox" - Anda dapat menjalankan "/ system / bin / toolbox find" tetapi kemungkinan untuk mengembalikan "tidak ada alat" karena produsen sengaja menghapusnya dari perangkat.

Namun dimungkinkan bahwa perangkat Anda memiliki fitur di dalam kotak alat yang dibundel - tetapi tidak "disinkronkan" ... jika "/ system / bin / toolbox find" akan menjalankan fitur tersebut maka Anda dapat menggunakan "ln / system / bin / find perintah toolbox "(saya mungkin mengacaukan urutan params). Sebelum menjalankan "ln ..." Anda harus memount ulang perangkat dalam mode baca-tulis (baik dengan menggunakan "adb root" atau "su; mount -o remount, rw / system"

pengguna2312654
sumber