20 - Sep - 2026

These 6 tools gave the terminal features I thought I needed a GUI for

For the longest time, I assumed the terminal was where you go if you needed something done the hard, geeky way. So my daily routines, like browsing files, finding something I’d forgotten, or making sense of a log, typically avoided the terminal. Without thinking twice, I’d open a GUI.

However, this mindset started changing when I began using certain terminal tools, because they made my workflows less tedious. I still use GUI apps, but these tools make me reach for them far less frequently.

Yazi

File management was the GUI habit I expected to keep

Traditional terminal file commands give me filenames and paths, but file management often feels easier when I can see what I’m dealing with. Seeing just the file names doesn’t always cut it, especially when there are several files with similar names, or when you need to move a group of them. So, naturally, I leaned towards File Explorer.

Yazi, however, turns my terminal into an interactive file manager, allowing me to move through folders, select files, and preview them. It even lets me perform common file operations in the same window. Its preview feature is the most significant for me, because even before deciding what to do with an image, PDF, archive, or piece of code, I can inspect it first.

There are occasions when I’d rather use a mouse, so I still have to open File Explorer. However, my workflow includes several file tasks that I start on the terminal, and now I avoid context switching by completing the same tasks on the terminal.

Yazi logo

OS

Windows, Linux, macOS

Developer

sxyazi

Price model

Free, Open-source

Yazi is a fast, open-source terminal file manager written in Rust that combines a three-pane interface, Vim-style navigation, and extensible plugins for efficient keyboard-driven file management.


fzf

Searching stopped requiring me to remember exactly what I wanted

fzf file search in a terminal

I often remember a specific file exists without remembering its name. Sometimes, I remember just a few letters, part of a word, or vaguely what it relates to. In these situations, I can’t make headway by typing the exact path.

This is when I turn to fzf, and it feels less like a command. It becomes more of a search box that I’d normally look for in a GUI. Just by typing a rough pattern, fzf narrows a list interactively as I go. Before I start my search, I don’t need to get the filename perfectly.

While files seem like an obvious example, fzf also works with command history, processes, Git commits, bookmarks, and other lists too, making it useful for much more than finding files.

While I use Yazi to browse around and see what’s there, I fall back to fzf when I don’t want to browse at all and already have a vague idea of what I’m looking for.

fzf-color

OS

Linux, macOS, Windows, and BSD operating systems

Price

Free

fzf is a general-purpose command-line fuzzy finder. This interactive terminal toolkit lets you select files, browse command history, and preview data.


The terminal finally made logs feel like information

Navigating to logs with lnav
Afam Onyimadu / MUO

The terminal often feels like the wrong tool when you have to open a large log file. It outputs many lines of text, and it’s just hard to find the important part.

lnav makes logs more approachable by treating them as logs. It detects log formats and filters messages. I also use it to combine entries from multiple log files into a single chronological view when an application has several logs and I need to figure out an occurrence around the same time.

I often use its histogram and chronological views to spot patterns without excessively scrolling through raw text. It has reduced my habit of opening multiple files and mentally comparing timestamps.

However, it’s capable of more advanced features. You can even query log data using SQL, although that’s not why I recommend it here. More importantly, I don’t have to reach for a dedicated graphical log viewer when something goes wrong because I can investigate using lnav.

0-logo-removebg-preview

OS

Linux, macOS, and FreeBSD operating systems

Price

Free

Lnav is a log file viewer for the terminal that allows you jump quickly to the previous/next errors, adnnavigate more seamlessly. 


Atuin

Functions with Atuin
Afam Onyimadu / MUO

Remembering a command isn’t exactly the same as finding a command, at least that’s what my extensive use of shell history has taught me. I may remember I ran a command last week, without remembering the exact command. Sometimes, I know I used it for a project but can’t quite remember where I ran it.

Atuin makes this history easier to work with. I use its interactive search to filter commands by context, such as the current directory, Git workspace, session, or host. Because it supports fuzzy search, I can find commands without reconstructing the entire command.

Once I have some context, like the project I ran a specific long command, it’s more useful to search through that project’s history than searching through all the commands that I’ve run.

Also, my shell history doesn’t have to be a scrollback list. Using Ctrl+R, I’m able to interrogate my history, especially when I remember only parts of what I did.

289813829-08bc86d4-a781-4aaa-8d7e-478ae6bcd129

OS

macOS, Linux, Windows, and WSL-2

Price

Free

Antuin is a great replacement for your existing shell history which uses a SQLite database, and records additional context for your commands.


trash-cli

Deleting files no longer had to mean deleting them forever

Using trash cli
Afam Onyimadu / MUO

The trash is a practical safety net that I’m used to having in a graphical file manager. rm doesn’t provide that same trash workflow. The trash offers somewhere to look for a deleted file if you made a mistake.

With trash-cli, I can send files to the trash from the command line, then list or restore them if needed.

Approach

What happens

rm

Removes the file through the normal deletion process

trash-cli

Sends it to a trash workflow where it can later be listed or restored

commandline-trashcan-removebg-preview

OS

Linux, macOS, and Windows

Price

Free

trash-cli is a terminal tool that trashes files recording the original path, deletion date, and permissions. 


zoxide

I stopped typing my way through the filesystem

Windows Powershell installing zoxide software.

I usually fall back to a graphical file manager when I need to get to deeply nested folders. cd does it, but it’s really tedious when you have to go very deep, especially when you know exactly where you need to go, but can’t remember the complete path.

zoxide’s approach is different. It remembers the directories I visit and ranks them, so a short query can take me to the match I want. All I need is a short query instead of the entire path.

I use zoxide alongside fzf without duplicating fzf’s functionality. While fzf filters a list of things, zoxide remembers paths I tend to visit and gets them back when I need them.

logo-light-removebg-preview

OS

Linux, macOS, Windows, BSD, and Android

Price

Free

zoxide is a smart cd command which remembers directories you use most frequently.


The GUI wasn’t the problem

I don’t force myself to always work on the terminal; there are times when GUI apps make more sense. However, the biggest change is that I don’t automatically leave the terminal when things become inconvenient, because these tools handle many of the tasks that used to send me to a GUI.

Leave a Reply

Your email address will not be published. Required fields are marked *