Find files and directories with FSearch

Quick Finder

Article from Issue 270/2023

In a crowded field of search applications, FSearch offers many interesting functions for quickly searching files and folders, with more promised in the future.

Data has the bad habit of hiding away in the depths of the filesystem precisely when you need it urgently. That's why there are tools at different levels to help with searching, including FSearch v0.2.2. Similar to the Findutils for locate, FSearch first builds a database of the selected data, which can then be searched at lightning speed. The search begins as soon as you start entering the search term.

Great Selection

It is important to distinguish between desktop environment search tools and generic search tools. In terms of user interfaces, KDE Plasma offers the KRunner, KFind, and Baloo programs, the latter being the underpinnings for searching with the Dolphin file manager. Gnome comes with Tracker integrated into the Nautilus file manager by default. In addition, there are many search apps that do not depend on a desktop and can be set up retroactively. The best-known candidates here include Catfish, ANGRYsearch, Recoll, and FSearch. At the command line, there are the tried-and-trusted find and locate tools, and others.

This article covers the open source FSearch tool, whose search speed is hard to beat and which comes with some interesting features. German developer Christian Boxdörfer was inspired to create FSearch [1] by the speed of the Everything search engine [2] on Windows. First released in 2016, the C program is based on the GTK3 toolkit. The developer is already planning a conversion to the Qt framework, but the app already integrates quite well with Qt-based systems.

FSearch has a clear-cut graphical interface. If you enable client-side decorations in the Preferences dialog's Interface tab (Figure 1), the menubar will then appear in a hamburger menu top right (Figure 2).

Figure 1: The Interface tab in the settings gives users options for designing the interface and outputting the results.
Figure 2: FSearch offers a clear-cut interface and a powerful search engine that returns results as you type.


Despite its good qualities, FSearch has not yet arrived in the archives of all distributions. Only MX Linux, Solus, PCLinuxOS, GNU Guix, and FreeBSD have the official binaries. Arch Linux offers the tool in its Arch User Repository (AUR).

Fortunately, the Boxdörfer provides packages for Debian and openSUSE via SUSE's Open Build Service [3]. Fedora and RHEL users will find the program in the Copr repository [4], while Ubuntu users can access it via a Personal Package Archive (PPA) [5]. A Flatpak can be found on Flathub, but with limited functionality [6]. The developer also offered a Snap package, but the package format had so many restrictions that he switched to a PPA.

The current version, FSearch v0.2.2, was released in August 2022. The alpha version 0.3 is available for Ubuntu as a daily build, from the AUR as a Git dump, and for Fedora as a nightly build. The application can also be compiled from the source code without major issues [7]. I will stick to the stable version in this article, using Debian and Fedora for testing. The end of the article reveals what Boxdörfer has planned for upcoming releases.

First Launch

When you launch the application for the first time, you will see a notice that the database is empty. A switch lets you specify the folders you want to include or exclude from the search (Figure 3). Then indexing begins – this can take some time, depending on the size of the filesystem and the number of directories you add. However, on subsequent launches, loading the database only takes a moment.

Figure 3: When first launched, FSearch needs to fill the database with content. A click on Add folders lets you select the folders to be indexed; you can also exclude folders.

On my fairly large test system with over 2.3 million entries in the FSearch database, the index is 104MB, and the first indexing run took about 10 minutes. The FSearch configuration file is located in ~/.config/fsearch.conf and the database in ~/.local/share/fsearch.db.

The top line in the FSearch window is occupied by the search mask. To the right, a drop-down menu lets you limit the search to specific file types, even after the search results are made available. The hamburger menu or, depending on the setting, the menubar, lets users open another window, manually update the database, and perform other tasks. There are also various options for disabling the search button, filters, or status bar. The status bar is located at the bottom of the window and displays the number of matches for the current search on the left and the total number of indexed files on the right.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Introduction

    This month in Linux Voice.

  • Tracked Down

    Searching for text in files or data streams is a common and important function. Ugrep tackles this task quickly, efficiently, and even interactively if needed.

  • Tutorials – Recoll

    Even in the age of cloud computing, personal computers often hold thousands of files: text files, spreadsheets, word processing docs, configuration files, and HTML files, as well as email and other message formats. If it takes too long to find the file you need, chase it down with the Recoll local search engine.

  • Netsed

    Netsed is a small communication tool that lets users modify the content of TCP and UDP data packets on the local network.

  • Czkawka

    Czkawka helps find and remove duplicate and obsolete files to free up valuable disk space.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More