lệnh adb để tìm kiếm hệ thống tập tin


11

Có một lệnh adb tương tự như "định vị" hoặc "grep" sẽ giúp tôi tìm một tệp trên thiết bị Android của mình không?

Tôi tò mò về adb cụ thể, không phải là một ứng dụng tìm kiếm.

EDIT: "find" đã được đề xuất, nhưng trên thiết bị ICS của tôi:

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

Trên thiết bị Gingerbread của tôi, nó hoạt động, mặc dù. (Ngoại trừ tôi chưa root thiết bị đó nên nó thiếu sự cho phép.)

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

Busybox sẽ cung cấp grepnhưng không locate(AFAIK).
eldarerathis

1
tìm thấy có sẵn trên các thiết bị chứng khoán tôi tin rằng quá.
Ryan Conrad

2
Trên ICS ít nhất nó cho tôi biết "tìm: không tìm thấy". :(
cẩm tú cầu

Câu trả lời:


8

Lệnh find hoạt động tốt trong shell adb. Cú pháp là find /path -name file_name. Để tìm kiếm chỉ đọc các khu vực bạn sẽ cần root. Nếu lệnh find không khả dụng trên thiết bị cụ thể của bạn, bạn có thể cần cài đặt BusyBox (tìm kiếm Thị trường.)

Ví dụ:
adb shell find / -name *maps*
sẽ tìm thấy tất cả các tệp có chứa từ "bản đồ" trên toàn bộ hệ thống tệp.


4
Nếu lệnh này spam bạn với việc /somedir/: Permission deniedthêm 2>/dev/nullvào lệnh để tắt tiếng thông báo lỗi.
onik

1
find-> /system/bin/sh: find: not found- hết may mắn. Làm cách nào để tôi cài đặt findvào thiết bị borked mà nhà sản xuất quyết định không đưa findvào phần sụn?
Tên hiển thị

3

find tiện ích đi kèm với BusyBox hoặc các phần thứ 3 khác.

Để sử dụng các khả năng riêng, hãy thử ( ls -Rtrên Android, greptrên PC):

adb shell ls -lR / | grep 'REGEX'

2

"find" là một ứng dụng dòng lệnh có thể được cài đặt thông thường như: 1. một tệp thực thi nhị phân (hầu hết các máy tính để bàn) hoặc 2. một cái gì đó nhỏ làm nhiều việc trong đó một trong số chúng là "find" hoặc 3. có thể không có sẵn như điện thoại các nhà sản xuất không thích người dùng kiểm soát quá nhiều điện thoại của họ

Nhiều khả năng bạn có một thiết bị ICS có thương hiệu (ví dụ: samsung) - các nhà sản xuất muốn có nhiều quyền kiểm soát thiết bị hơn chủ sở hữu. Có được root ở đó, sau đó cài đặt busybox. Thiết bị rất có thể là một cái gì đó gọi là "/ system / bin / toolbox" - bạn có thể thực thi "/ system / bin / toolbox find" nhưng có khả năng trả về "không có công cụ như vậy" do nhà sản xuất cố tình gỡ nó khỏi thiết bị.

Tuy nhiên, có thể thiết bị của bạn có tính năng trong hộp công cụ đi kèm - nhưng không phải là "symlinked" ... nếu "/ system / bin / toolbox find" sẽ thực thi tính năng thì bạn có thể sử dụng "ln / system / bin / find lệnh toolbox "(tôi có thể đã làm rối trật tự của params). Trước khi thực hiện "ln ...", bạn phải kết nối lại thiết bị ở chế độ đọc-ghi (bằng cách sử dụng "adb root" hoặc "su; mount -o remount, rw / system"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.