Linux에 "Everything"과 같은 파일 검색 엔진이 있습니까?


46

Windows에는 Everything 이라는 멋진 파일 검색 엔진이 있습니다.이 파일 은 (와는 달리 find) 매우 빠르며 (과는 달리 locate) 항상 최신 결과를 반환합니다. AFAIK는 NTFS 저널에서 데이터베이스를 채워서 작동합니다 (다른 파일 시스템에서는 작동하지 않음).

나는 리눅스 (ext3 또는 ext4)와 비슷한 것이 있는지 궁금하다 (GUI에 관심이 없다; 나의 요점은 속도와 최신 보증이다); 나는 봤지만 아무것도 찾지 못했습니다. 이와 같은 일을 할 수 있습니까? 아니면 누군가가 작업하고 있습니까?


2
내가 모든 것에 대해 좋아하는 것은 순간적 일뿐 만 아니라 6 개의 Windows 설치와 여러 데이터 파티션이있는 멀티 부팅 시스템과 같은 다중 파티션에서도 작동한다는 것입니다. 단일 파티션뿐만 아니라 여러 Linux 파티션에서 작동하는 Linux 검색을 원합니다.
Arch Parsons

고유 한 특성 (증분 업데이트, 실시간 또는 안전한 인덱싱 등)이있는 많은 변형 (locate, slocate, rlocate 등)이 존재합니다. 모두 고도로 구성 가능합니다 (updateb.conf의 맨 페이지 및 찾기)
Manu H

답변:


30

항상 최신 상태 인 locate를 다시 구현하는 rlocate를 살펴볼 수 있습니다 . 또 다른 흥미로운 프로젝트는 실시간 인덱싱을 지원 하고 비글과 같이 전체 텍스트 검색을 추가로 수행 할 수 있는 recoll 입니다 . 마지막으로 실시간 인덱싱도 지원하는 doodle 을 언급해야 합니다. 낙서에는 메기 와 같은 멋진 프론트 엔드가 있습니다 .

예를 들어 urxvt를 터미널 에뮬레이터로 사용하고 다음과 같은 내용을 작성하여 클릭 할 수 있도록 결과를 찾을 수 있습니다.

URxvt.perl-ext: default,matcher URxvt.urlLauncher: /usr/bin/gnome-open     
URxvt.matcher.button: 1 URxvt.matcher.pattern.1: /.*

(그리고 xrdb -load ~/.Xdefaults나중에 실행 )


1
이 답변을 받아 들여야한다고 생각합니다. rlocate그 자체가 이미 완전한 대답을합니다.
phunehehe 2019

4
2017 년에 무슨 일이야? rlocate는 Linux 2.6을 언급하고 Ubuntu 16.04 패키지는 언급하지 않습니다. recoll은 흥미롭고 업데이트 된 것처럼 보이지만 필요에 따라 과도합니다. doodle에는 16.04의 Ubuntu 패키지가 있으므로 옵션 일 수 있습니다.
Stéphane Gourichon

리콜이 오버 킬 인 이유는 명령 줄에서 리콜을 실행할 수도 있습니다. 또한 원하는 경우 kde 및 unity와 잘 통합됩니다.
학생

메기의 가장 큰 문제는 파일과 상호 작용할 수 없다는 것입니다. 검색 결과에서 20 개의 파일을 복사하려면 Show in File Manager20 번이 필요합니다 .
Annan

rlocate의 문서 에는 충족 방법을 모르는 "커널 구성"요구 사항의 목록이 있으며 압축을 풀고 실행 ./configure하면 "전체 커널 소스로 패키지를 설치해야합니다"라는 메시지가 나타납니다. 이 도구는 전문가가 아닌 사용자에게는 도달하지 않는 것 같습니다.
Qwertie

6

또한 Linux 용 "모든 검색"도구를 검색 하고 Ubuntu 저장소에서 "검색 원숭이" 를 발견했습니다 . 그것을 사랑하십시오!

가볍고 빠르게로드되며 와일드 카드 검색으로 수많은 결과가 즉시 생성되며 필터와 고급 검색 방법이 있습니다.

리눅스에 대한 "Everything"검색 툴이 돌아 왔습니다!


링크가 끊어짐
Chris Nevill

4

파일 시스템 내에서이를 구현하는 재미있는 아이디어이지만 그와 같은 것은 내 지식에는 없습니다. 데이터를 조기에 파악할 수 있도록 상위 fs 레이어에 충분히 깊숙이 들어 가려고 시도하는 몇 가지 애드온 외에도 (업데이트 : 모든 것이이 범주에 속함) 정기적 인덱싱.

찾고있는 것에 가장 가까운 것은 libferris 가상 파일 시스템 일 수 있습니다.

인덱싱 세계에서는 최소한 인덱스를 업데이트하고 추가 할 수있는 glimpse살펴볼 수 있습니다.

업데이트 : "Everything"에 관한 내용을 읽었으며 FS 고유의 것으로 보이지 않으므로 libferris는 그다지 멀지 않으며 파일 이름뿐만 아니라 내용을 색인 할 수 있습니다. 항상 최신 상태를 유지해야합니다.


페리스 메일 링리스트는 2007 년 이후로 소실되었으며 2010 년 이후에도 계속되지 않습니다. 2016 년 3 월부터 2017 년 3 월 사이에 활성화되지 않은 github 저장소가 있습니다. 아마도 계속 될 것입니다.
Stéphane Gourichon


2

당신이 선택이 화가 검색 . 그것은 설명에서 모든 것과 같다고 주장합니다. FSearch 도 같은 주장을합니다.


1
Linux 용 Evernote 대안을 Google에서 검색 할 때 FSearch를 가리키는 검색 결과의 수를 고려할 때 여기에 게시 한 유일한 사람이 놀랍습니다.
Ghos3t

1

inotify를 사용하여 몇 줄의 코드로 이와 같은 것을 빌드 할 수 있어야합니다 (shell 스크립트를 사용하여이를 구현할 수있는 inotify-tools 패키지도 있습니다).

(저는 그러한 도구가 저널에서 구동 될 것이라는 사실에 놀랐습니다. 가상 파일 시스템 계층에서 구현되었을 가능성이 큽니다)


1
inotify재귀 적이 지 않으므로 여기에서 유용 할 수 있는지 확실 하지 않습니다. 전체 트리를 감시하는 것은 간단하지만 커널은 수만 개를 처리 할 수 ​​있습니까? 그것이 가능하더라도 이것은 효과적인 방법으로 보이지 않습니다.
maaartinus


1

btrfsfind-new몇 년 동안 하위 볼륨에 대한 명령 을 구현했습니다 . 상대적으로 최신 스냅 샷 트리를 유지하는 경우 파일 시스템을 모든 변경 사항에 대해 원자 적으로 감시 할 수 있습니다.

당신은 그것을 다음과 같이 사용할 것입니다 :

btrfs sub find-new /chk/path [gen-id]

동일한 명령과 비교하지만 가짜 gen-id를 사용하여 필요한 gen-id를 얻을 수 있습니다. 여기에 더 많은 정보가 있습니다 .


1

Everything과 거의 동일하게 작동하는 locate 명령을위한 UI 프론트 엔드

https://github.com/AlexTuduran/Locator/releases


1
이것은 locate자동으로 업데이트되지 않는 잘못된 전제에 기반한 것으로 보입니다 .
roaima

개발하십시오. 위치 정보가 업데이트된다는 것은 무슨 의미입니까?
Alex Tuduran

GitHub 프로젝트 는 데이터베이스가 자동으로 업데이트되지 않는 것을 제외하고 Unix 명령 locate이 동일한 원칙을 사용한다고 명시하고 있습니다 . locate패키지는 포함 cron데이터베이스를 자동으로 업데이트 않는 작업을.
roaima

그것이 사실이라면, 그것은 단지 도구의 목표를 돕는 것입니다. 데이터베이스를 자동 업데이트하면 다른 작업을 수행하지 않아도됩니다. 즉각적인 업데이트가 필요한 경우에도 사용자는 데이터베이스를 명시 적으로 업데이트 할 수 있습니다. 아니면 거짓 전제와 관련하여 여기에서 어떤 우려가 있습니까?
Alex Tuduran

1

Stretch를 실행하는 Raspberry Pi 3 B +에서 Angry Search를 사용하고 있으며 정상적으로 작동합니다. Windows의 모든 검색과 마찬가지로 정말 빠릅니다. 너무 빨리 파일을 찾을 수 있다는 것이 매우 좋습니다.

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