These 6 instruments gave the terminal options I believed I wanted a GUI for
For the longest time, I assumed the terminal was the place you go in the event you wanted one thing finished the onerous, geeky method. So my each day routines, like searching recordsdata, discovering one thing I’d forgotten, or making sense of a log, sometimes prevented the terminal. Without pondering twice, I’d open a GUI.
However, this mindset began altering when I began using certain terminal tools, as a result of they made my workflows much less tedious. I nonetheless use GUI apps, however these instruments make me attain for them far much less incessantly.
Yazi
File administration was the GUI behavior I anticipated to maintain
Traditional terminal file instructions give me filenames and paths, however file administration typically feels simpler once I can see what I’m coping with. Seeing simply the file names does not at all times lower it, particularly when there are a number of recordsdata with comparable names, or when you’ll want to transfer a gaggle of them. So, naturally, I leaned in direction of File Explorer.
Yazi, nonetheless, turns my terminal into an interactive file supervisor, permitting me to maneuver by means of folders, choose recordsdata, and preview them. It even lets me carry out frequent file operations in the identical window. Its preview function is probably the most important for me, as a result of even earlier than deciding what to do with a picture, PDF, archive, or piece of code, I can examine it first.
There are events when I’d fairly use a mouse, so I nonetheless need to open File Explorer. However, my workflow consists of a number of file duties that I begin on the terminal, and now I avoid context switching by completing the same tasks on the terminal.
- OS
-
Windows, Linux, macOS
- Developer
-
sxyazi
- Price mannequin
-
Free, Open-source
Yazi is a quick, open-source terminal file supervisor written in Rust that mixes a three-pane interface, Vim-style navigation, and extensible plugins for environment friendly keyboard-driven file administration.
fzf
Searching stopped requiring me to recollect precisely what I wished
I typically keep in mind a selected file exists with out remembering its title. Sometimes, I keep in mind only a few letters, a part of a phrase, or vaguely what it pertains to. In these conditions, I am unable to make headway by typing the precise path.
This is once I flip to fzf, and it feels much less like a command. It turns into extra of a search field that I’d usually search for in a GUI. Just by typing a tough sample, fzf narrows an inventory interactively as I am going. Before I begin my search, I needn’t get the filename completely.
While recordsdata appear to be an apparent instance, fzf additionally works with command historical past, processes, Git commits, bookmarks, and different lists too, making it helpful for way more than discovering recordsdata.
While I exploit Yazi to browse round and see what’s there, I fall again to fzf once I do not wish to browse in any respect and have already got a obscure thought of what I’m on the lookout for.
- OS
-
Linux, macOS, Windows, and BSD working methods
- Price
-
Free
fzf is a general-purpose command-line fuzzy finder. This interactive terminal toolkit helps you to choose recordsdata, browse command historical past, and preview information.
lnav
The terminal lastly made logs really feel like data
The terminal typically feels just like the mistaken instrument when you need to open a big log file. It outputs many traces of textual content, and it is simply onerous to search out the essential half.
lnav makes logs extra approachable by treating them as logs. It detects log codecs and filters messages. I additionally use it to mix entries from a number of log recordsdata right into a single chronological view when an software has a number of logs and I want to determine an incidence across the similar time.
I typically use its histogram and chronological views to identify patterns with out excessively scrolling by means of uncooked textual content. It has decreased my behavior of opening a number of recordsdata and mentally evaluating timestamps.
However, it is able to extra superior options. You may even question log information utilizing SQL, though that is not why I like to recommend it right here. More importantly, I haven’t got to succeed in for a devoted graphical log viewer when one thing goes mistaken as a result of I can examine utilizing lnav.
- OS
-
Linux, macOS, and FreeBSD working methods
- Price
-
Free
Lnav is a log file viewer for the terminal that permits you bounce rapidly to the earlier/subsequent errors, adnnavigate extra seamlessly.
Atuin
My command historical past grew to become one thing I might truly search
Remembering a command is not precisely the identical as discovering a command, at the least that is what my intensive use of shell historical past has taught me. I could keep in mind I ran a command final week, with out remembering the precise command. Sometimes, I do know I used it for a undertaking however cannot fairly keep in mind the place I ran it.
Atuin makes this historical past simpler to work with. I exploit its interactive search to filter instructions by context, corresponding to the present listing, Git workspace, session, or host. Because it helps fuzzy search, I can discover instructions with out reconstructing the whole command.
Once I’ve some context, just like the undertaking I ran a selected lengthy command, it is extra helpful to look by means of that undertaking’s historical past than looking by means of all of the instructions that I’ve run.
Also, my shell historical past does not need to be a scrollback checklist. Using Ctrl+R, I’m in a position to interrogate my historical past, particularly once I keep in mind solely elements of what I did.
- OS
-
macOS, Linux, Windows, and WSL-2
- Price
-
Free
Antuin is a superb substitute to your current shell historical past which makes use of a SQLite database, and information further context to your instructions.
trash-cli
Deleting recordsdata not needed to imply deleting them eternally
The trash is a sensible security web that I’m used to having in a graphical file supervisor. rm does not present that very same trash workflow. The trash presents someplace to search for a deleted file in the event you made a mistake.
With trash-cli, I can ship recordsdata to the trash from the command line, then checklist or restore them if wanted.
|
Approach |
What occurs |
|---|---|
|
rm |
Removes the file by means of the conventional deletion course of |
|
trash-cli |
Sends it to a trash workflow the place it will probably later be listed or restored |
- OS
-
Linux, macOS, and Windows
- Price
-
Free
trash-cli is a terminal instrument that trashes recordsdata recording the unique path, deletion date, and permissions.
zoxide
I finished typing my method by means of the filesystem
I often fall again to a graphical file supervisor once I have to get to deeply nested folders. cd does it, nevertheless it’s actually tedious when you need to go very deep, particularly when you recognize precisely the place you’ll want to go, however cannot keep in mind the whole path.
zoxide’s strategy is completely different. It remembers the directories I go to and ranks them, so a brief question can take me to the match I need. All I want is a brief question as an alternative of the whole path.
I use zoxide alongside fzf without duplicating fzf’s functionality. While fzf filters an inventory of issues, zoxide remembers paths I have a tendency to go to and will get them again once I want them.
- OS
-
Linux, macOS, Windows, BSD, and Android
- Price
-
Free
zoxide is a brilliant cd command which remembers directories you utilize most incessantly.
The GUI wasn’t the issue
I do not power myself to at all times work on the terminal; there are occasions when GUI apps make extra sense. However, the largest change is that I do not mechanically go away the terminal when issues develop into inconvenient, as a result of these instruments deal with most of the duties that used to ship me to a GUI.


