특정 디렉토리 만 색인화하기 위해 어떻게 이동합니까? 그러나 mlocate의 표준

내가 사용하고 싶습니다 mlocate를 하지만 인덱스 특정 디렉토리 (예를 들어, 내 우분투 서버에 /home/data있지만, 모든 것이 아래 /). 그러나 mlocate의 표준 구성은 반대 방식으로 작동합니다. 제거하려는 경로를 지정합니다 (로 PRUNE_PATHS).

이것을 달성하는 쉬운 방법이나 내가 원하는 것을 할 수있는 유사한 유틸리티가 있습니까? (참고 :와 같은 색인을 유지해야 mlocate하므로 find예를 들어 허용되지 않습니다) 감사합니다.



답변

-U 옵션 (–database-root PATH)을 사용할 수 있습니다

updatedb -l 0 -U /home/user/music -o /home/user/databasefile

-o는 출력 파일에 씁니다

-l 0은 읽을 수 있도록합니다. 그렇지 않으면 찾기 전용으로 액세스 할 수 있습니다.

그런 다음 다음과 같이 사용할 수 있습니다.

locate -d /home/user/databasefile Dylan

-d는 데이터베이스 경로를 설정합니다

둘 이상의 루트 디렉토리에 mlocate를 사용하려면 두 개의 데이터베이스 파일을 작성하고 다음과 같이 두 개의 데이터베이스 경로 옵션과 함께 locate를 사용하십시오.

locate -d /home/user/dbfile1 -d /home/user/dbfile2 searchstring

요약하고 더 구체적인 질문에 대답하려면 다음을 수행하십시오.

updatedb -l 0 -U /home -o /home/user/home_dbfile
updatedb -l 0 -U /data -o /home/user/data_dbfile
locate -d /home/user/home_dbfile -d /home/user/data_dbfile Dylan


답변

파일 편집 /etc/updatedb.conf

PRUNEPATHS검색하지 않으려는 디렉토리로 설정

PRUNEPATHS="/tmp /var/spool /media"

PRUNEPATHS: 업데이트 된 경로로 스캔해서는 안되는 경로 이름의 공백으로 구분 된 목록입니다. 각 경로 이름은 locate에 의해 디렉토리가보고되는 형식이어야합니다. 기본적으로 경로는 건너 뛰지 않습니다.

위의 모든 구성 정보는 명령 줄 옵션을 통해 유틸리티로 변경하거나 업데이트 할 수도 있습니다 updatedb.


답변

나는 당신이 시도 할 수있는 다른 것을 발견했습니다.

  1. 빠른 검색 – “따라서 내 SearchTool은 다른 방법을 사용합니다. ‘ls’명령을 사용하여 검색된 폴더의 내용을 나열한 다음 해당 출력에서 ​​검색을 수행합니다.이 방법으로 검색 속도가 매우 빠릅니다 (처음으로 ‘ls’출력). “

인덱싱에 대해 잘 모르겠습니다.

  1. 트래커 GUI 사용
  2. 꽤 절름발이 솔루션 sudo 찾기 “여기에 검색 디렉토리를 배치하십시오”> files.list grep ‘filename’files.list

답변