polecenie adb, aby przeszukać system plików


11

Czy istnieje polecenie adb podobne do „zlokalizuj” lub „grep”, które pomogłoby mi znaleźć plik na moim urządzeniu z Androidem?

Ciekawi mnie konkretnie adb, a nie aplikacja wyszukująca.

EDYCJA: Sugerowano „znajdź”, ale na moim urządzeniu ICS:

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

Na moim urządzeniu z piernika to jednak działa. (Tyle że nie zrootowałem tego urządzenia, więc nie ma ono uprawnień).

hydrangea@turnsole:~$ adb shell find / -name *maps*
find: permission denied

Busybox zapewni, grepale nie zapewni locate(AFAIK).
eldarerathis

1
find jest dostępny na standardowych urządzeniach, które również uważam.
Ryan Conrad

2
Na ICS przynajmniej mówi mi „znajdź: nie znaleziono”. :(
Hortensja

Odpowiedzi:


8

Polecenie find działa dobrze w powłoce adb. Składnia jest następująca find /path -name file_name. Do wyszukiwania obszarów tylko do odczytu będziesz potrzebować root. Jeśli polecenie znajdowania nie jest dostępne na danym urządzeniu, może być konieczne zainstalowanie BusyBox (przeszukaj rynek).

Na przykład
adb shell find / -name *maps*
znajdzie wszystkie pliki zawierające słowo „mapy” w całym systemie plików.


4
Jeśli to polecenie spams Ci /somedir/: Permission deniedappend 2>/dev/nulldo komendy, aby wyciszyć komunikaty o błędach.
onik

1
find-> /system/bin/sh: find: not found- pecha. Jak zainstalować findna uszkodzonym urządzeniu, którego producent postanowił nie włączać finddo oprogramowania układowego?
Nazwa wyświetlana

3

find Narzędzie dostarczane jest z BusyBox lub inną trzecią częścią.

Aby użyć natywnych możliwości, spróbuj ( ls -Rna Androidzie, grepna PC):

adb shell ls -lR / | grep 'REGEX'

2

„find” to aplikacja wiersza polecenia, która może być normalnie instalowana jako: 1. binarny plik wykonywalny (większość komputerów stacjonarnych) lub 2. coś małego, wykonując wiele rzeczy, gdzie jedna z nich jest „znajdź” lub 3. może nie być dostępny jako telefon producenci nie lubią, gdy użytkownicy mają zbyt dużą kontrolę nad swoimi telefonami

Najprawdopodobniej masz jedno markowe (np. Samsung) urządzenie ICS - producenci chcą mieć większą kontrolę nad urządzeniem niż właściciel. Zdobądź root, a następnie zainstaluj busybox. Urządzenie najprawdopodobniej nosi nazwę „/ system / bin / toolbox” - można wykonać polecenie „/ system / bin / toolbox find”, ale prawdopodobnie zwróci „brak takiego narzędzia”, ponieważ producent celowo usunął go z urządzenia.

Możliwe jest jednak, że twoje urządzenie ma tę funkcję w dołączonym zestawie narzędzi - ale po prostu nie jest „symlinkowane” ... jeśli „/ system / bin / toolbox find” wykona tę funkcję, możesz użyć „ln / system / bin / find” toolbox ”(mogłem zepsuć kolejność parametrów). Przed uruchomieniem „ln ...” należy ponownie zamontować urządzenie w trybie odczytu-zapisu (albo przy użyciu „adb root” lub „su; mount -o remount, rw / system”

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.