Czy system plików linux obsługuje szybkie wyszukiwanie / indeksowanie plików?

21

Zastanawiam się, dlaczego nie ma żadnego narzędzia, które umożliwiłoby szybkie wyszukiwanie plików na dysku twardym, np. „Przeszukuj wszystko”. Wystarczy wpisać część nazwy pliku, a wszystkie pliki zawierające słowo kluczowe pojawią się natychmiast. Czy nie jest możliwe zaprojektowanie programu do rejestrowania nazw wszystkich plików w jakimś katalogu w bazie danych, aby można było szybko przeszukiwać bazę danych w poszukiwaniu nazw plików?

hvjkjdtmkgh
źródło
Drobny naciąg, ale może pomóc lepiej zrozumieć system. Zasadniczo systemy plików nie obsługują bezpośrednio wyszukiwania plików ani tworzenia indeksów. Zadaniem systemu plików jest przechowywanie plików. Wyszukiwanie i indeksowanie odbywa się za pomocą różnych programów narzędziowych. Odbywa się to w ten sposób, ponieważ prostszy system plików = mniejsza szansa na błędy i pozwala użytkownikowi skonfigurować poziom budowania indeksu i które obszary powinny być celami.
Perkins

Odpowiedzi:

13

Uruchom sudo updatedbi locate [ filename or part ]
updatedbzaktualizuj bazę danych indeksu.
Jeśli chcesz zlokalizować program, uruchomwhereis [ program name ]

Gufran
źródło
1
Fajnie, ale jak zrobić wyszukiwanie lokalizacji w określonym katalogu w Linux Linux?
hvjkjdtmkgh
cóż, w tym celu możesz użyć findpolecenia, użyj go w ten sposób find [path to directory] | grep "file name or part"Przeszukuje rekurencyjnie, więc możesz po prostu przeszukać katalog podstawowy i automatycznie wyszuka plik w dowolnym podkatalogu.
Gufran,
W przypadku konkretnego katalogu:locate foo | grep /home/bar/baz
Scott Severance
Dzięki, ale czy możesz podać mi przykład? Jestem zupełnie nowy w Linuksie. W systemie Windows piszesz D: \\ nazwa_folderu itp. Jaki jest odpowiednik linuksa? Ponadto, czy to narzędzie ma GUI, dzięki czemu mogę bezpośrednio otworzyć plik?
hvjkjdtmkgh
narzędzia takie jak locatelub findnie mają wbudowanego GUI, możesz użyć narzędzia innej firmy, takiego jak catfish. Aby zainstalować narzędzie, możesz wyszukać catfishw centrum oprogramowania lub uruchomić to polecenie sudo apt-get install catfish. Po zainstalowaniu tego możesz otworzyć program z Unity Dash. jeśli chodzi o strukturę plików w systemie Linux, nie ma C, Dnapędów, wszystkie partycje są montowane jako katalog wewnątrz katalogu głównego, czyli /(ukośnik odwrotny). więc wszystko idzie bezpośrednio do wewnątrz /, tak jak katalog domowy (taki sam jak katalog użytkownika w /home/
systemie
5

Jeśli szukasz tylko nazw plików, już to robi, to się nazywa locate

Bardziej zaawansowane wyszukiwanie można znaleźć w narzędziu do śledzenia: https://wiki.ubuntu.com/Tracker (zobacz także to pytanie: Jakie są alternatywy dla Spotlight OS X? )

Więcej opcji można znaleźć tutaj: https://help.ubuntu.com/community/FindingFiles

Nanne
źródło
Jak mogę zlokalizować wyszukiwanie w określonym katalogu?
hvjkjdtmkgh
To kolejne pytanie, ale odpowiedź można znaleźć tutaj serverfault.com/questions/313733/… :)
Nanne
ale znalezienie linku do plików na help.ubuntu wydaje się całkiem dobrym opisem twoich wyborów?
Nanne
@hvjkjdtmkgh: Zobacz mój komentarz do odpowiedzi Gufrana, jak przeszukiwać określony katalog.
Scott Severance