Last Updated on May 28, 2022
This is the seventh in our series of articles highlighting essential system tools. These are small utilities, useful for system administrators as well as regular users of Linux based systems. The series examines both graphical and text based open source utilities. For details of all tools in this series, please check the table in the summary section.
Most of the tools covered in our series to date are text-based software. This time, we’re covering Catfish. It’s a graphical search utility written in Python. Its search is powered by find and locate, with search suggestions provided by Zeitgeist. With the 1.4.6 release, Catfish became part of the Xfce family. Xfce is a lightweight desktop environment. But Catfish works well with other desktop environments like GNOME and KDE.
Installation
Installation of Catfish is straightforward with most distributions. The software is found in popular distributions’ repositories.
This is open source software, so you can download the source code, and compile it.
In operation
The interface is intentionally lightweight and minimalistic, using only GTK+3. ps_mem reports catfish consumes about 37MB of RAM.
The software can be configured using several command line options.
As you can see, there’s the option to use large icons, thumbnails, perform exact matches, show hidden files, together with fulltext searches.
Features of catfish include:
- polkit integration.
- Fulltext searches i.e. search text within text files.
- Perform operations on multiple files.
- Optional headerbars (enabled by default).
- Support for passwordless sudo.
- Folder filter.
- Image thumbnailer.
- Drag’n’Drop of filenames from application.
- Option to show the sidebar.
- Internationalization support – translations are available for Afrikaans, Basque, Belarusian, Brazilian Portuguese, Bulgarian, Catalan, Chinese (Simplified), Chinese (Traditional), Croatian, Czech, Danish, Dutch, Esperanto, Finnish, French, German, Greek, Icelandic, Italian, Japanese, Kurdish, Lithuanian, Polish, Portuguese, Russian, Serbian, Slovak, Spanish, Swedish, Turkish, and Ukrainian.
Summary
Catfish is a well-designed, mature, and functional graphical file search utility. It offers good search performance, good support for themes, and is frugal with resources. Seasoned Linux users will probably prefer using the command-line. But if you’re a recent migrator from Windows, you’ll appreciate the software’s exceptional ability at finding files.
Website: launchpad.net/catfish-search
Support: Developer’s website
Developer: Sean Davis (previous developer: Christian Dywan)
License: GNU General Public License version 2 or greater
Catfish is written in Python. Learn Python with our recommended free books and free tutorials.
All the essential tools in this series:
Essential System Tools | |
---|---|
Alacritty | Innovative, hardware-accelerated terminal emulator |
BleachBit | System cleaning software. Quick and easy way to service your computer |
bottom | Graphical process/system monitor for the terminal |
btop++ | Monitor usage and stats for CPU, memory, disks, network and processes |
catfish | Versatile file searching software |
Clonezilla | Partition and disk cloning software |
CPU-X | System profiler with both a GUI and text-based |
Czkawka | Find duplicate files, big files, empty files, similar images, and much more |
ddrescue | Data recovery tool, retrieving data from failing drives as safely as possible |
dust | More intuitive version of du written in Rust |
f3 | Detect and fix counterfeit flash storage |
Fail2ban | Ban hosts that cause multiple authentication errors |
fdupes | Find or delete duplicate files |
Firejail | Restrict the running environment of untrusted applications |
Glances | Cross-platform system monitoring tool written in Python |
GParted | Resize, copy, and move partitions without data |
GreenWithEnvy | NVIDIA graphics card utility |
gtop | System monitoring dashboard |
gWakeOnLAN | Turn machines on through Wake On LAN |
hyperfine | Command-line benchmarking tool |
HyFetch | System information tool written in Python |
inxi | Command-line system information tool that's a time-saver for everyone |
journalctl | Query and display messages from the journal |
kmon | Manage Linux kernel modules with this text-based tool |
Krusader | Advanced, twin-panel (commander-style) file manager |
Nmap | Network security tool that builds a "map" of the network |
nmon | Systems administrator, tuner, and benchmark tool |
nnn | Portable terminal file manager that's amazingly frugal |
pet | Simple command-line snippet manager |
Pingnoo | Graphical representation for traceroute and ping output |
ps_mem | Accurate reporting of software's memory consumption |
SMC | Multi-featured system monitor written in Python |
Timeshift | Reliable system restore tool |
QDirStat | Qt-based directory statistics |
QJournalctl | Graphical User Interface for systemd’s journalctl |
TLP | Must-have tool for anyone running Linux on a notebook |
Unison | Console and graphical file synchronization software |
VeraCrypt | Strong disk encryption software |
Ventoy | Create bootable USB drive for ISO, WIM, IMG, VHD(x), EFI files |
WTF | Personal information dashboard for your terminal |