On my Windows PC I have pretty much instant search functionality for any file. I have slightly over 11TB of files gathered over more than 10 years.
I use Everything app for many years.
If I launch the app it takes max 3-4 seconds for the database to refresh it’s “index” since it’s not using Windows’s own search index.
After that all 11TB of files can be searched instantly.
Have you guys found any terminal or GUI based Linux file search app that comes even close to this speed of finding files among TB of other files?
I use a few utils:
locate
This uses a database of all files on the system so the results are almost instantaneous, but if a db update hasn’t run recently, the results may not be up to date: use man locate
to learn more.
Gnome uses Tracker, which is what the search box in the activities view gets its information from. Tracker is more than just a file data base, though, it stores lots of additional metadata and also looks inside files where it can and this allows various newer Gnome applications (documents/music/photos) to integrate with it. On the terminal, one can use tracker:
tracker3 search ..
More information in man tracker3-search
.
Most indexing tools gain their speed from keeping their indexes up to date by running in the background. Both locate and tracker do this too.
Other utils like find
and fzf
are extremely quick too:
find . -name "..."
I personally am not a fan of your typical indexing. I want the live updating index to work only as long as I have the app opened. I don’t get the point of useless HDD activity all the time because indexing constantly monitors for changes.
On Windows I have Windows indexing disabled, because it just slows your topical navigation thru partitions, especially if you have large HDDs already filled.
Everything app updates the index of 11TB of files in under 3-4 seconds and it has live monitoring of changes only as long as you leave it running. After I search for something I just close it because user experience is not affected just by waiting 3 seconds if in half an hour I search for something else.
So what can I do to have it set up the same way on Linux?
Hi,
I also use fzf in my bash.
But mainly for the history in the terminal.
fzf is really great if you can limit your search to the terminal.
fzf is included in the standard repos and can be installed with dnf.
To make fzf usable, including the keyboard shortcuts, you should copy the following to your .bashrc in your home directory:
#bash history completition and search tool
source /etc/bash_completion.d/fzf
source /usr/share/fzf/shell/key-bindings.bash
I just wanted to mention it because it is not really well explained on GitHub.
You didn’t mention a DE so now I can only speak for GTK desktops.
As far as I know the indexing service is
tracker
with
tracker-miners
What will not work in your desktop if you uninstall the packages I can not say. But I have never noticed this service.
In KDE, which is a QT desktop, Baloo works as an indexing service. There are probably always difficulties regarding the system load.
With me with a XFCE desktop so GTK Catfish is installed as a graphical file search. Catfish is based on mlocate and therefore the database must be renewed manually. locate in the terminal is also based on mlocate and the database must be renewed with
sudo updatedb
to renew the database.
I’m using KDE