W systemie Windows jest ładna wyszukiwarka plików o nazwie Everything , która jest (w przeciwieństwie do find
) bardzo szybka i (w przeciwieństwie do locate
) zawsze zwraca aktualne wyniki. AFAIK działa, wypełniając bazę danych z dziennika NTFS (nie działa z innymi systemami plików).
Zastanawiam się, czy jest coś podobnego (nie dbam o GUI; chodzi mi o szybkość i aktualną gwarancję) dla Linuksa (ext3 lub ext4); Poszukałem google, ale nic nie znalazłem. Czy można coś takiego zrobić, czy nawet ktoś nad tym pracuje?
filesystems
search
journaling
maaartinus
źródło
źródło
Odpowiedzi:
Możesz rzucić okiem na rlocate , ponowne wdrożenie locate, które jest zawsze aktualne. Kolejnym interesującym projektem jest przypominanie, które obsługuje również indeksowanie w czasie rzeczywistym i pozwala (podobnie jak beagle) na wyszukiwanie pełnotekstowe. Na koniec powinienem wspomnieć o doodle, które obsługuje także indeksowanie w czasie rzeczywistym. Na doodle jest kilka ładnych nakładek, takich jak sum .
Zauważ, że możesz także (r) zlokalizować wyniki klikalne, używając na przykład urxvt jako emulatora terminala i pisząc coś takiego
(i wykonywanie
xrdb -load ~/.Xdefaults
później)źródło
rlocate
sama odpowiedź jest już kompletna.Show in File Manager
20 razy../configure
, powiedziano mi, że muszę „zainstalować pakiet z pełnymi źródłami jądra”. To narzędzie wydaje się być poza zasięgiem guru.Szukałem również narzędzia „Przeszukaj wszystko” dla systemu Linux i odkryłem „Przeszukaj małpę” w repozytorium Ubuntu. KOCHAM TO!
Jest lekki, ładuje się szybko, wyszukiwanie wieloznaczne natychmiast generuje mnóstwo wyników, a także ma filtry i zaawansowane metody wyszukiwania.
Mam teraz moje narzędzie wyszukiwania „Wszystko” dla Linuxa!
źródło
Ciekawy pomysł na wdrożenie tego zrootowanego systemu plików, ale o ile mi wiadomo, nic takiego nie istnieje. Oprócz kilku dodatków, które próbują zagłębić się wystarczająco głęboko w górne warstwy FS, aby uzyskać wczesne przechowywanie danych (aktualizacja: wszystko wchodzi w tę samą kategorię), obawiam się, że jesteś ograniczony do mniej satysfakcjonujących procesów regularne indeksowanie.
Najbliżej tego, czego szukasz, może być wirtualny system plików libferris.
W świecie indeksowania warto rzucić okiem , który przynajmniej potrafi aktualizować i dołączać swój indeks.
Aktualizacja: Właśnie przeczytałem rzeczy o „Wszystko” i nie wydaje się to być nieodłączne od FS, więc libferris nie jest tak daleko, a także pozwala na indeksowanie treści, a nie tylko nazw plików. Zaspokaja twoją potrzebę ciągłego aktualizowania.
źródło
Możesz użyć
locate
polecenia, a jeśli chcesz zaktualizować jego bazę danych, uruchom następujące polecenie:To polecenie aktualizuje lokalizację bazy danych za kilka sekund
źródło
Czy sprawdziłeś Angry Search . W swoim opisie twierdzi, że jest jak wszystko. FSearch również twierdzi, że to samo.
źródło
Powinno być możliwe zbudowanie czegoś takiego w kilku liniach kodu za pomocą inotify (istnieje również pakiet inotify-tools, który pozwoliłby ci to zaimplementować za pomocą skryptów powłoki).
(Byłbym bardzo zaskoczony, że każde takie narzędzie zostanie wyprowadzone z dziennika - bardziej prawdopodobne jest, że zostało zaimplementowane w warstwie wirtualnego systemu plików)
źródło
inotify
może się tu przydać, ponieważ nie jest rekurencyjny. Tworzenie zegarków dla całego drzewa jest proste, ale czy jądro poradzi sobie z dziesiątkami tysięcy z nich? Nawet jeśli to możliwe, nie wygląda mi to na skuteczny sposób.Możesz spróbować beagle . Niestety http://www.beagle-project.org jest teraz zaparkowaną domeną - wikipedia.
źródło
btrfs
od lat stosujefind-new
polecenie przeciw objętościom. Jeśli przechowujesz względnie aktualne drzewo migawek, można go używać do atomowego oglądania systemu plików pod kątem wszystkich zmian bez większego zamieszania.Użyłbyś tego w następujący sposób:
Możesz uzyskać gen-id potrzebny do porównania z tym samym poleceniem, ale używając fałszywego gen-id. Nie ma więcej informacji tutaj .
źródło
Interfejs użytkownika interfejsu polecenia locate, który działa prawie tak samo jak Everything:
https://github.com/AlexTuduran/Locator/releases
źródło
locate
nigdy nie jest aktualizowana automatycznie.locate
używa tej samej zasady, z tą różnicą, że baza danych nie jest aktualizowana automatycznie .locate
Pakiet zawieracron
zadania, które powoduje automatycznego aktualizowania bazy danych.Korzystam z Angry Search na Raspberry Pi 3 B + z systemem Stretch i działa dobrze. Jest naprawdę dość szybki, podobnie jak w Search Everything w systemie Windows. Bardzo miło jest móc tak szybko znajdować pliki.
źródło