답변:
시험:
sudo /usr/libexec/locate.updatedb
그리고 config를보십시오 :
/etc/locate.rc 설정 파일
편집 :
여기에 출력을 게시하십시오.
echo $LOCATE_CONFIG
과:
cat /etc/locate.rc
과:
echo $0
최신 정보:
찾기 프로그램은 지정된 패턴과 일치하는 모든 경로 이름을 데이터베이스에서 검색합니다. 데이터베이스 데이터베이스는 정기적으로 (일반적으로 매주 또는 매일) 재 계산 되며 공개적으로 액세스 할 수있는 모든 파일의 경로 이름을 포함합니다 .
시도 mdfind 대신 찾습니다
업데이트 2 :
더 정확한 mdfind -name 텍스트. mdfind 텍스트만으로도 텍스트가 포함 된 파일을 제공합니다. – David Krmpotic
mdfind -name text
mdfind -name text
보다 정확한 답변을 업데이트해야 합니다. 텍스트 mdfind text
가 포함 된 파일 만 제공합니다 .
로 케이트가 세계적으로 읽을 수없는 파일을 읽을 수 없기 때문에 권한이 범인 일 수 있습니다. 자세한 설명 은 Plundra 의이 답변 을 참조하십시오 .
homebrew 의 findutils 패키지 는 내장 유틸리티의 일부 제한을 극복하는 것으로 보이는 enable 및 명령을 수행합니다.gupdatedb
glocate
mdutil
으므로 이것을 확인하는 것이 합리적입니까? 내가 생각할 수있는 한 가지 유스 케이스는 gupdatedb
Spotlight를 사용하여 수동으로 다시 스캔을 트리거 할 수 있다는 것입니다. 다른 장점이 있습니까?
updatedb
더 빠릅니다. ~ / Library 및 기타 시스템 파일을 무시 glocate
하는 동안 시스템 파일을 인덱싱하는 데 문제가없는 것 같습니다 mdfind
. 확실히 내가 더 많은 안타를 얻을 찾을 수 glocate
이상의 mdfind
대부분의 상황에서. YMMV.
sudo gupdatedb
, 다음 저장 glocate Radium
출력을. 그런 다음 실행 gupdatedb
했고 /.Trashes: Permission denied
다른 폴더와 동일합니다. 나는 둘 다에 대한 출력을 비교했으며 동일했습니다! 이상한 ...
sudo gupdatedb
(루트로 실행) 실행 한 다음 나중에 gupdatedb
루트 사용자가 액세스 할 수있는 파일에 액세스 할 수없는 일반 사용자로 실행 하여 결과를 얻었습니다. 권한 거부 오류. 전체 시스템에 대한 완전한 파일 이름 데이터베이스를 원한다면 루트로 계속 실행하십시오. 그러면 glocate
명령을 사용할 수있는 시스템의 다른 사용자에게 파일이 노출 됩니다. 그러나 당신이 유일한 사용자라면 괜찮을 것입니다.
#SEARCHPATHS="/"
구성에서 주석 처리를 제거 했지만 도움이되지 않았습니다.-v
옵션은 추가 출력을 생성하지 않는 것 같습니다 : /