찾기 및 업데이트 b-파일을 찾을 수 없음


8

나는 달렸다

sudo /usr/libexec/locate.updatedb

그때

locate Radium3

그러나 아무것도 반환하지 않습니다!

그러나

$ ls ~/Library/Containers/com.catpigstudios.Radium3/
Container.plist Data

그렇다면 왜 locate모든 파일을 볼 수 없습니까?

OS X에서이 명령을 올바르게 사용하고 있습니까?

답변:


5

시험:

sudo /usr/libexec/locate.updatedb

그리고 config를보십시오 :

/etc/locate.rc 설정 파일

편집 :

여기에 출력을 게시하십시오.

echo $LOCATE_CONFIG

과:

cat /etc/locate.rc

과:

echo $0

최신 정보:

https://developer.apple.com/library/mac/documentation/Darwin/Reference/Manpages/man1/locate.1.html#//apple_ref/doc/man/1/locate

찾기 프로그램은 지정된 패턴과 일치하는 모든 경로 이름을 데이터베이스에서 검색합니다. 데이터베이스 데이터베이스는 정기적으로 (일반적으로 매주 또는 매일) 재 계산 되며 공개적으로 액세스 할 수있는 모든 파일의 경로 이름을 포함합니다 .

시도 mdfind 대신 찾습니다

업데이트 2 :

더 정확한 mdfind -name 텍스트. mdfind 텍스트만으로도 텍스트가 포함 된 파일을 제공합니다. – David Krmpotic

mdfind -name text

#SEARCHPATHS="/"구성에서 주석 처리를 제거 했지만 도움이되지 않았습니다. -v옵션은 추가 출력을 생성하지 않는 것 같습니다 : /
davidhq

PLZ에 대한 추가 정보를 제공하십시오. 답변 "편집 됨"섹션.
user3439968


1
$ ls -la /var/db/locate.database -r--r--r-- 1 아무도 휠 19463861 4 월 6 일 20:08 /var/db/locate.database $ locate david.jpg / Users / david / temp /david.jpg
davidhq

1
mdfind -name text보다 정확한 답변을 업데이트해야 합니다. 텍스트 mdfind text포함 된 파일 만 제공합니다 .
davidhq

3

로 케이트가 세계적으로 읽을 수없는 파일을 읽을 수 없기 때문에 권한이 범인 일 수 있습니다. 자세한 설명 은 Plundra 의이 답변 을 참조하십시오 .

homebrewfindutils 패키지 는 내장 유틸리티의 일부 제한을 극복하는 것으로 보이는 enable 및 명령을 수행합니다.gupdatedbglocate


감사합니다! 그러나 이제 내가 알았 mdutil으므로 이것을 확인하는 것이 합리적입니까? 내가 생각할 수있는 한 가지 유스 케이스는 gupdatedbSpotlight를 사용하여 수동으로 다시 스캔을 트리거 할 수 있다는 것입니다. 다른 장점이 있습니까?
davidhq

1
mdutil / spotlight를 사용하여 재색 인화하는 데 시간이 조금 걸릴 수 있습니다. updatedb더 빠릅니다. ~ / Library 및 기타 시스템 파일을 무시 glocate하는 동안 시스템 파일을 인덱싱하는 데 문제가없는 것 같습니다 mdfind. 확실히 내가 더 많은 안타를 얻을 찾을 수 glocate이상의 mdfind대부분의 상황에서. YMMV.
VogonPoetLaureate 1

좋아, 나는 지금 이것을 테스트하고있다. 나는 몇 가지 문제가 ... 주먹 I 달렸다 찾은 것 같아요 sudo gupdatedb, 다음 저장 glocate Radium출력을. 그런 다음 실행 gupdatedb했고 /.Trashes: Permission denied다른 폴더와 동일합니다. 나는 둘 다에 대한 출력을 비교했으며 동일했습니다! 이상한 ...
davidhq

당신이 말하는 것에서, 당신은 처음에 sudo gupdatedb(루트로 실행) 실행 한 다음 나중에 gupdatedb루트 사용자가 액세스 할 수있는 파일에 액세스 할 수없는 일반 사용자로 실행 하여 결과를 얻었습니다. 권한 거부 오류. 전체 시스템에 대한 완전한 파일 이름 데이터베이스를 원한다면 루트로 계속 실행하십시오. 그러면 glocate명령을 사용할 수있는 시스템의 다른 사용자에게 파일이 노출 됩니다. 그러나 당신이 유일한 사용자라면 괜찮을 것입니다.
VogonPoetLaureate 15시 51 분

2

Spotlight에서 사용하는 것과 동일한 데이터베이스를 검색하려면 다음을 mdfind대체 할 수 있는 대안으로 명령을 사용할 수 있습니다 locate.

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