Dateien und Verzeichnisse mit Fsearch finden

Aus LinuxUser 03/2023

Dateien und Verzeichnisse mit Fsearch finden

© Sergey Lavrentev / 123RF.com

Schnell gefunden

Viele Anwendungen widmen sich der Suche nach Dateien und Ordnern, doch keine erfüllt alle Anforderungen. Fsearch könnte das in Zukunft ändern.

Daten haben die unangenehme Angewohnheit, sich immer genau dann in den Tiefen des Dateisystems zu verstecken, wenn man sie dringend benötigt. Deshalb gibt es auf unterschiedlichen Ebenen Werkzeuge, die bei der Suche helfen. Dazu gehört auch Fsearch, das kürzlich in Version 0.2.2 erschienen ist. Ähnlich wie die Findutils hinter Locate baut die Software zunächst eine Datenbank der ausgewählten Daten auf, die sich danach in Windeseile durchsuchen lässt. Die Suche startet bereits während der Eingabe des Suchbegriffs.

Viel Auswahl

Generell gilt es, zwischen Such-Tools von Desktop-Umgebungen und generellen Suchwerkzeugen zu unterscheiden. Bei den Benutzeroberflächen bietet KDE Plasma die Programme Krunner, Kfind und Baloo, Letzteres steht hinter der Suche im Dateimanager Dolphin. Gnome bringt standardmäßig den in den Dateimanager Nautilus eingebundenen Tracker mit. Darüber hinaus gibt es viele Such-Apps, die nicht von einem Desktop abhängen und sich nachträglich einrichten lassen. Zu den bekanntesten Vertretern dieser Gattung zählen Catfish, Angrysearch, Recoll und Fsearch. Auf der Kommandozeile stehen unter anderem die bewährten Tools Find und Locate bereit.

Dieser Artikel beschäftigt sich mit dem Open-Source-Tool Fsearch, dessen Geschwindigkeit beim Finden kaum zu überbieten ist und das einige interessante Funktionen mitbringt. Der deutsche Entwickler Christian Boxdörfer wurde durch die Geschwindigkeit der Everything Search Engine [1] unter Windows zu Fsearch [2] inspiriert. Das im Jahr 2016 erstmals veröffentlichte, in C geschriebene Programm basiert auf dem GTK3-Toolkit. Eine Umsetzung auf das Qt-Framework plant der Entwickler bereits, die App fügt sich aber schon jetzt recht gut in Qt-basierte Systeme ein.

Fsearch präsentiert sich mit einer übersichtlichen grafischen Oberfläche. Die Menüleiste lässt sich in den Einstellungen auf Client Side Decorations umstellen und erscheint dann rechts oben in einem Hamburger-Menü (Abbildung 1).

Abbildung 1: Fsearch bietet eine aufgeräumte Oberfläche und eine mächtige Suchmaschine, die bereits während der Eingabe Ergebnisse liefert.

Abbildung 1: Fsearch bietet eine aufgeräumte Oberfläche und eine mächtige Suchmaschine, die bereits während der Eingabe Ergebnisse liefert.

Installation

Trotz seiner Qualitäten ist Fsearch noch nicht in den Archiven aller Distributionen angekommen. Lediglich MX Linux, Solus, PCLinuxOS, GNU Guix und FreeBSD halten es als offizielle Binaries vor, Arch Linux bietet das Tool in seinem User-Repository AUR an.

Erfreulicherweise stellt der Entwickler Pakete für Debian und OpenSuse über den Open Build Service von Suse bereit [3]. Fedora- und RHEL-Anwender finden das Programm im COPR-Repository [4], für Nutzer von Ubuntu steht es über ein PPA bereit [5]. Ein Flatpak finden Sie auf Flathub, allerdings mit eingeschränktem Funktionsumfang [6]. Zeitweise bot der Entwickler auch ein Snap-Paket an. Das Paketformat wies jedoch so viele Restriktionen auf, dass er zu einem PPA wechselte.

Derzeit aktuell ist Fsearch 0.2.2 vom August 2022, die Alpha-Version v0.3 gibt es für Ubuntu als Daily-Build, im AUR als Git-Auszug und für Fedora als Nightly. Die Anwendung lässt sich zudem ohne größere Probleme aus dem Quelltext übersetzen [7]. Wir halten uns hier an die stabile Version, die wir unter Debian und Fedora getestet haben, und verraten Ihnen am Ende des Artikels, was der Entwickler für die nächsten Veröffentlichungen plant.

Erster Start

Beim ersten Start der Anwendung empfängt Sie ein Hinweis auf die noch leere Datenbank. Über einen Schalter legen Sie die Ordner fest, die Sie in die Suche aufnehmen oder davon ausschließen möchten (Abbildung 2). Anschließend beginnt die Indizierung, was je nach Größe des Dateisystems und der Menge der hinzugefügten Verzeichnisse einige Zeit in Anspruch nimmt. Bei späteren Starts dauert das Laden der Datenbank jedoch nur einen Augenblick.

Abbildung 2: Nach dem ersten Start gilt es, die Datenbank mit Inhalten zu f&uuml;llen. Ein Klick auf <span class="ui-element">Ordner hinzuf&uuml;gen</span> erlaubt die Auswahl zu indizierender Ordner sowie deren Ausschluss.

Abbildung 2: Nach dem ersten Start gilt es, die Datenbank mit Inhalten zu füllen. Ein Klick auf Ordner hinzufügen erlaubt die Auswahl zu indizierender Ordner sowie deren Ausschluss.

Bei unserem recht umfangreichen Testsystem mit über 2,3 Millionen Einträgen in der Fsearch-Datenbank hat diese eine Größe von 104 MByte, der erste Indizierungslauf dauerte rund 10 Minuten. Die Konfigurationsdatei von Fsearch liegt unter ~/.config/fsearch.conf, die Datenbank unter ~/.local/share/fsearch.db.

Die oberste Zeile im Fsearch-Fenster nimmt die Suchmaske ein. Rechts davon erlaubt ein Ausklappmenü das Eingrenzen der Suche auf bestimmte Dateitypen, auch nachdem ein Suchergebnis bereits vorliegt. Das Hamburger-Menü oder – je nach Einstellung – die Menüleiste erlauben unter anderem das Öffnen eines weiteren Fensters sowie das manuelle Aktualisieren der Datenbank. Außerdem finden sich hier verschiedene Optionen zum Abschalten von Suchschaltfläche, Filter oder Statusleiste. Letztere befindet sich am unteren Rand des Fensters und zeigt links die Anzahl der Fundstellen der aktuellen Suche und rechts die Gesamtzahl der indizierten Dateien an.

Warum Fsearch?

Was macht Fsearch nun zu einem hervorragenden Suchwerkzeug? An erster Stelle vermutlich die Geschwindigkeit. Die Software beginnt standardmäßig mit der Suche, sobald Sie die ersten Buchstaben des Suchworts eintippen, und ist üblicherweise mit der Anzeige der Fundstellen bereits fertig, bevor Sie den Suchbegriff vervollständigt haben. Falls Sie sich darüber wundern, warum sich die Suchschaltfläche abschalten lässt: Eben diese Sofortsuche macht in der Standardeinstellung einen zusätzlichen Schalter schlicht überflüssig.

Die Fundstellen lassen sich am Kopf der Ergebnisliste nach Dateiname, Pfad, Größe oder Änderungszeit sortieren. Allerdings erlaubt die Software keine Volltextsuche, sie sucht nur nach den Namen von Dateien und Verzeichnissen. Benötigen Sie eine Anwendung für die Volltextsuche, empfehlen sich Recoll oder Docfetcher.

In den Einstellungen (Abbildung 3) lassen sich unter Datenbank Pfade oder versteckte Dateien und Ordner in die Suche ein- oder davon ausschließen. Per Wildcard können Sie etwa alle Dateien mit flatpak im Namen mit der Angabe flatpak* ausschließen (Abbildung 4). Beim Einschließen erscheint hinter jedem Eintrag eine Checkbox mit der Bezeichnung Einzelnes Dateisystem. Dahinter steckt die Möglichkeit, ein eventuell im Home eingebundenes Netzlaufwerk von der Suche auszunehmen.

Abbildung 3: Der Reiter <span class="ui-element">Bedienoberfl&auml;che</span> in den Einstellungen bietet Optionen zur Gestaltung der Oberfl&auml;che und der Ausgabe der Ergebnisse.

Abbildung 3: Der Reiter Bedienoberfläche in den Einstellungen bietet Optionen zur Gestaltung der Oberfläche und der Ausgabe der Ergebnisse.


Abbildung 4: In den Einstellungen schlie&szlig;en Sie bei Bedarf komplette Verzeichnisse oder bestimmte Dateien von der Indizierung (und damit der Suche) aus.

Abbildung 4: In den Einstellungen schließen Sie bei Bedarf komplette Verzeichnisse oder bestimmte Dateien von der Indizierung (und damit der Suche) aus.

Die vordefinierten Filter für Dateitypen wie unter anderem Ordner, Dateien, Bilder, Dokumente oder Audio erweitern Sie in den Einstellungen im Reiter Suche um eigene Filter (Abbildung 5). Die Suche lässt sich aber auch in der Suchmaske noch weiter eingrenzen, indem Sie etwa ~/Dokumente pdf eingeben. Wenn Sie den Dateinamen kennen, findet ~/Dokumente Li alle Dokumente mit dieser Kombination von Anfangsbuchstaben.

Abbildung 5: Der Reiter <span class="ui-element">Suche</span> in den Einstellungen erlaubt das Definieren eigener Filter und zugeh&ouml;riger Dateitypen f&uuml;r die Suche.

Abbildung 5: Der Reiter Suche in den Einstellungen erlaubt das Definieren eigener Filter und zugehöriger Dateitypen für die Suche.

Wenn Sie die Option in den Einstellungen im Reiter Suche aktivieren, erkennt Fsearch, wenn Sie einem Pfad folgen möchten. Geben Sie home in die Suchmaske ein, zeigt das Ergebnis alle Dateien mit home im Namen an. Ergänzen Sie den Begriff zu home/, erkennt die Software die gewünschte Pfadsuche.

Die Einstellung Verhalten nach erfolgreichem Öffnen eines Elements mit den Optionen Minimieren oder Schließen erweist sich als nützlich, wenn Sie lediglich beabsichtigen, eine Datei zu suchen, sie über das Kontextmenü zu öffnen und dann an anderer Stelle weiterzuverarbeiten.

Neue Operatoren

Mit Fsearch 0.2 aktualisierten die Entwickler die Suchmaschine. Die Syntax bietet nun wesentlich mehr Möglichkeiten als zuvor. Der Suchbegriff lässt sich mit Operatoren und Funktionen spezifizieren oder mit Wildcards erweitern. Daneben wertet die Suche reguläre Ausdrücke aus, basierend auf der PCRE-Bibliothek (Perl Compatible Regular Expressions).

Wie bisher interpretiert Fsearch ein Leerzeichen im Suchbegriff als AND. Suchen Sie also beispielsweise nach allen für KDE relevanten Vorkommen im Verzeichnis /usr, geben Sie /usr kde ein. Je nachdem, ob Sie Groß- und Kleinschreibung beachten in den Einstellungen angehakt haben, finden Sie damit sowohl “KDE” als auch “kde” (Abbildung 6).

Abbildung 6: Hier kommt der Operator <span class="ui-element">AND</span> zum Einsatz. Da die Schreibweisenunterscheidung nicht aktiviert ist, enth&auml;lt die Trefferliste auch Dateien mit "KDE" im Namen.

Abbildung 6: Hier kommt der Operator AND zum Einsatz. Da die Schreibweisenunterscheidung nicht aktiviert ist, enthält die Trefferliste auch Dateien mit “KDE” im Namen.

Sie können mit den neuen Operatoren darüber hinaus Trefferkriterien wie Größe, Änderungsdatum, Ordnertiefe, Erweiterung, Inhaltstyp und mehr festlegen. Um zum Beispiel jede MP4-Datei mit einer Größe von mehr als 1 GByte zu finden, tippen Sie ext:mp4 size:>1gb. Daneben erlaubt das Programm das Erstellen von Abfragen mit den Operatoren OR und NOT. Um zum Beispiel alle JPEG- und PNG-Dateien zu finden, die im letzten Monat geändert wurden und “Katze” oder “Hund” im Namen tragen, geben Sie (Katze OR Hund) ext:jpg;png dm:lastmonth ein. Auf Github erläutert das Projekt die erweiterte Syntax anhand einiger Beispiele [8].

Ausblick

Der Fsearch-Entwickler Christian Boxdörfer gibt auf Github einen Ausblick auf geplante Erweiterungen und die Versionen, in denen sie ins Projekt einfließen sollen [9].

Für die nähere Zukunft plant er unter anderem Live-Updates der Datenbank, wobei Inotify zum automatischen Erkennen von Änderungen an Verzeichnissen oder Dateien dient [10]. Außerdem sollen sich bestimmte Dateitypen bereits beim Indizieren nach Eigenschaften wie Dateigröße oder letzter Änderung filtern lassen.

Fsearch 0.5 wird voraussichtlich Bookmarks sowie eine Suchhistorie unterstützen, Version 0.6 soll bei unterstützten Dateitypen Thumbnails anzeigen. Eine Umsetzung für die Kommandozeile steht ebenfalls in der Roadmap. Sie würde es vereinfachen, Erweiterungen beispielsweise für KDEs Krunner zu schreiben.

Fazit

Unter Linux gibt es viele Möglichkeiten, das Dateisystem nach unterschiedlichen Gesichtspunkten zu durchsuchen. Fsearch bietet dabei die meisten Funktionen, die man sich von einer komfortablen Suchanwendung erwartet. Vor allem arbeitet es schnell und beginnt bereits bei der Eingabe des Begriffs mit der Suche. Die Ergebnisse lassen sich auf vielfältige Art filtern und sortieren. Uns erscheint es unverständlich, dass Fsearch in den Repos vieler Distributionen noch fehlt, denn wir halten die Suchmaschine für äußerst gelungen. Falls Sie Fehler melden wollen oder Unterstützung benötigen, können Sie Christian Boxdörfer auch auf Deutsch anschreiben. Er freut sich, wenn Sie seine Arbeit mit einer kleinen Spende via Paypal unterstützen. (tle)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 03/2023 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben