Unterstützt das Linux-Dateisystem die schnelle Suche / Indizierung von Dateien?

21

Ich frage mich, warum es kein Tool gibt, das es einem ermöglicht, Dateien auf seiner Festplatte sehr schnell zu finden, wie es "alles durchsuchen" tut. Geben Sie einfach einen Teil des Dateinamens ein und alle Dateien, die das Schlüsselwort enthalten, werden sofort angezeigt. Ist es nicht möglich, ein Programm zu entwerfen, das die Namen aller Dateien in einem Verzeichnis in einer Datenbank aufzeichnet, sodass Sie die Datenbank schnell nach Dateinamen durchsuchen können?

hvjkjdtmkgh
quelle
Ein kleiner Trottel, aber es könnte Ihnen helfen, das System besser zu verstehen. Im Allgemeinen unterstützen Dateisysteme die Dateisuche oder das Erstellen von Indizes nicht direkt. Die Aufgabe des Dateisystems besteht darin, Dateien zu speichern. Die Suche und Indizierung erfolgt über verschiedene Hilfsprogramme. Dies geschieht auf diese Weise, weil ein einfacheres Dateisystem = geringere Fehlerwahrscheinlichkeit, und der Benutzer die Ebene der Indexerstellung konfigurieren kann und welche Bereiche die Ziele sein sollen.
Perkins

Antworten:

13

Führen Sie die Indexdatenbank aus sudo updatedbund locate [ filename or part ]
updatedbaktualisieren Sie sie.
Wenn Sie ein Programm suchen möchten, führen Sie es auswhereis [ program name ]

Gufran
quelle
1
Schön, aber wie kann man die Suche in einem bestimmten Verzeichnis in Linux Mint durchführen?
hvjkjdtmkgh
gut für diesen Zweck können Sie findBefehl verwenden, verwenden Sie es wie find [path to directory] | grep "file name or part"folgt Dies wird rekursiv suchen, so dass Sie nur im Basisverzeichnis suchen können und es wird automatisch nach der Datei in einem beliebigen Unterverzeichnis suchen.
Gufran,
Für ein bestimmtes Verzeichnis:locate foo | grep /home/bar/baz
Scott Severance
Danke, aber können Sie mir ein Beispiel geben? Ich bin völlig neu in Linux. In Windows schreiben Sie D: \\ Ordnername \ etc Was ist das Äquivalent in Linux? Verfügt dieses Tool über eine grafische Benutzeroberfläche, sodass ich die Datei direkt öffnen kann?
hvjkjdtmkgh
Hilfsprogramme wie locateoder findhaben keine GUI eingebaut, können Sie ein Drittanbieter-Tool wie verwenden catfish. Um das Tool zu installieren, können Sie catfishim Software Center nach suchen oder diesen Befehl ausführen sudo apt-get install catfish. Nach der Installation können Sie das Programm über Unity Dash öffnen. In Bezug auf die Dateistruktur in Linux gibt es keine C, DLaufwerke, alle Partitionen werden als Verzeichnis in root gemountet, das heißt /(Back-Slash). So geht alles direkt hinein /, so wie sich Ihr Home-Verzeichnis (dasselbe wie Ihr Benutzerverzeichnis in Windows) darin befindet/home/
Gufran
5

Wenn Sie nur nach Dateinamen suchen, heißt das bereits locate

Für eine erweiterte Suche können Sie sich den Tracker ansehen: https://wiki.ubuntu.com/Tracker (siehe auch diese Frage: Was sind die Alternativen zu OS X's Spotlight? )

Weitere Optionen finden Sie hier: https://help.ubuntu.com/community/FindingFiles

Nanne
quelle
Wie kann ich eine Suche in einem bestimmten Verzeichnis durchführen?
hvjkjdtmkgh
Das ist eine andere Frage, aber die Antwort finden Sie hier serverfault.com/questions/313733/… :)
Nanne
Aber dass der Link zum Finden von Dateien auf help.ubuntu eine gute Beschreibung Ihrer Auswahl ist, wie es scheint?
Nanne,
@hvjkjdtmkgh: Siehe meinen Kommentar zu Gufrans Antwort zur Suche in einem bestimmten Verzeichnis.
Scott Severance