파일 시스템을 검색하는 adb 명령


11

내 Android 기기에서 파일을 찾는 데 도움이되는 "locate"또는 "grep"과 유사한 adb 명령이 있습니까?

검색 앱이 아닌 adb에 대해 궁금합니다.

편집 : "찾기"가 제안되었지만 내 ICS 장치에서 :

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

내 진저 브레드 장치에서는 작동합니다. (그 장치를 루팅하지 않았으므로 권한이 없습니다.)

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

Busybox는 (AFAIK)를 제공 grep하지만 제공 하지는 않습니다 locate.
eldarerathis

1
찾기도 내가 믿는 재고 장치에서 사용할 수 있습니다.
Ryan Conrad

2
ICS에서는 적어도 "find : not found"를 알려줍니다. :(
Hydrangea

답변:


8

find 명령은 adb 쉘에서 잘 작동합니다. 구문은 find /path -name file_name입니다. 읽기 전용 영역을 검색하려면 루트가 필요합니다. 특정 장치에서 find 명령을 사용할 수없는 경우 BusyBox를 설치해야합니다 (Market 검색).

예를 들어,
adb shell find / -name *maps*
전체 파일 시스템에서 단어 "maps"를 포함하는 모든 파일을 찾습니다.


4
이 명령이 스팸 메시지를 표시하면 명령에 /somedir/: Permission denied추가 2>/dev/null하여 오류 메시지를 음소거합니다.
onik

1
find-> /system/bin/sh: find: not found— 운이 나쁘다. find제조업체 find가 펌웨어에 포함하지 않기로 결정한 borked 장치에 어떻게 설치 합니까?
표시 이름

3

find 유틸리티는 BusyBox 또는 다른 세 번째 부품과 함께 제공됩니다.

기본 기능을 사용하려면 ( ls -RAndroid, grepPC) :

adb shell ls -lR / | grep 'REGEX'

2

"find"는 일반적으로 다음과 같이 설치 될 수 있는 명령 줄 응용 프로그램입니다 . 1. 이진 실행 파일 (대부분의 데스크톱 컴퓨터) 또는 2. 그 중 하나가 "find"이거나 전화로 사용할 수없는 작은 작업 제조업체는 사용자가 휴대 전화를 너무 많이 제어하는 ​​것을 좋아하지 않습니다.

대부분 브랜드 (예 : 삼성) ICS 장치가있을 가능성이 높습니다. 제조업체는 소유자보다 장치를 더 많이 제어하기를 원합니다. 거기에서 루트를 얻은 다음 busybox를 설치하십시오. 장치는 "/ system / bin / toolbox"라고 할 수 있습니다. "/ system / bin / toolbox find"를 실행할 수 있지만 제조업체가 의도적으로 장치에서 장치를 제거 했으므로 "그러한 도구가 없음"을 반환 할 수 있습니다.

그러나 장치에 번들 도구 상자 내에 기능이있을 수 있지만 "/"/ system / bin / toolbox find "가 기능을 실행하는 경우"symlinked "가 아닌"ln / system / bin / find "를 사용할 수 있습니다 toolbox "명령 (매개 변수의 순서를 엉망으로 만들었을 수 있음). "ln ..."을 실행하기 전에 읽기-쓰기 모드에서 장치를 다시 마운트해야합니다 ( "adb root"또는 "su; mount -o remount, rw / system"사용)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.