I love my workflow and never intended to do an extreme overhaul. All I needed was to fix a few workflow gaps, but it led me down a rabbit hole of lightweight Linux utilities that were so unassuming that I might have skipped them. I installed one, then another, and after a few new tools, the terminal I’d used for years felt outdated.
At this point, I’m never returning to my old terminal. These five tools are refreshingly good at solving specific terminal problems. I share my live terminal sessions, jump directories, find files, and correct errors more easily. This is the perfect next step after mastering commands that make me a true admin.
ttyd
Remote collaboration without leaving your terminal
Sometimes I end up sharing my screen if I need to show someone what’s happening in my terminal. It works, but it’s not ideal. Other ways to share the terminal come with some friction. tmux is effective, but sharing requires socket permissions and manual setup. Some browser options, like ShellInABox, require configuring web servers or reverse proxies—effective but too much friction.
ttyd is the tool that perfectly fills this gap. It lets me turn my terminal into a shareable live session that is clean and easily accessible with a URL. You don’t need to share your screen or jump through complicated configurations. It runs a shell or script command and securely exposes it over HTTP/HTTPS.
It comes in handy if I need to help someone remotely troubleshoot or if I need to give my teammates temporary access to the terminal. It’s one of the easiest solutions for running a shared environment in a classroom or workshop. I can secure it with TLS, passwords, or reverse proxies if needed. Even though it’s not ideal for long-term multi-user environments, it’s great for controlled sessions, and you can install it with any of the commands below:
Distro | Installation command |
|---|---|
Debian / Ubuntu / Linux Mint / Pop!_OS | sudo apt install ttyd |
RHEL / CentOS / Fedora / Rocky Linux / AlmaLinux | sudo dnf install ttyd |
Arch Linux / Manjaro / EndeavourOS | sudo pacman -S ttyd |
fzf
Instantly search files, history, or text from anywhere
If you have ever used the ls command, you will agree with me that manually searching for output, history, or directories is a slow process. I use grep or find, but these typically require long commands or flags and precise keyword matching. Manually searching slows me down if I have to search inside git repos, dotfiles, or any folders with deep structures. I also use shell history search (Ctrl+R), but it’s too restrictive and may miss results.
I have switched to fzf, and it is near-perfect. It uses a fuzzy-finder algorithm to search anything I pipe into it—files, history, processes, git branches, and text. I don’t need exact matches because it can guess what I intend to type.
The best part is that it integrates seamlessly with keybindings, giving me instant pop-up search, though it requires initial setup for keybindings and completions.
You can install it with any of the commands below:
Distro | Installation command |
|---|---|
Debian / Ubuntu / Linux Mint / Pop!_OS | sudo apt install fzf |
RHEL / CentOS / Fedora / Rocky Linux / AlmaLinux | sudo dnf install fzf |
Arch Linux / Manjaro / EndeavourOS | sudo pacman -S fzf |
zoxide
Smarter directory jumps with almost no setup
The cd command adds some friction to the terminal experience. You have to type long, exact directory paths repeatedly, and I’ve always wished it were smart enough to learn over time. Also, the friction when navigating between frequently used but deeply buried folders always breaks my flow.
I’ve used tools like autojump and z, but neither handles ranking or accuracy well enough. Even though bash aliases help, they are of no use if you do not manually define them or keep them updated. pushd / popd commands work, but you have to plan your movement, and they don’t adapt dynamically to your habits.
Zoxide is a smarter version of cd, and it tracks my frequently used paths. You can use z
Distro | Installation command |
|---|---|
Debian / Ubuntu / Linux Mint / Pop!_OS | sudo apt install zoxide |
RHEL / CentOS / Fedora / Rocky Linux / AlmaLinux | sudo dnf install zoxide |
Arch Linux / Manjaro / EndeavourOS | sudo pacman -S zoxide |
shellcheck
Smarter error detection before your commands ever break
Minor quoting errors and incorrect test operators are common reasons scripts may fail, which can be very confusing to fix. Once in a while, I have to write scripts, and I find the default error messages from the terminal aren’t the most helpful. It makes debugging more tedious than it should be.
shellcheck removes some of the friction. The tool scans scripts and highlights errors, unsafe patterns, and syntax quirks. It provides clear, detailed explanations. It goes beyond catching unquoted variables, incorrect condition checks, and missing keywords, and shows portability problems across bash, sh, dash, and zsh.
Even though it doesn’t fix highlighted issues, it provides straightforward guidance that helps you correct them quickly and predictably.
Distro | Installation command |
|---|---|
Debian / Ubuntu / Linux Mint / Pop!_OS | sudo apt install shellcheck |
RHEL / CentOS / Fedora / Rocky Linux / AlmaLinux | sudo dnf install shellcheck |
Arch Linux / Manjaro / EndeavourOS | sudo pacman -S shellcheck |
asciinema
Record and replay terminal sessions the clean way
I frequently need to record my terminal, but face a few challenges. Screenshots typically don’t capture scrolling input or command flow, and many screen-recording tools produce heavy recordings that are harder to share. Also, when screen-sharing lags, it breaks live demos.
Asciinema is a terminal recorder that resolves all the friction. It records terminal sessions as plain text and produces tiny, efficient .cast files that replay perfectly. The playback maintains the original resolution, colors, and exact timing, ensuring that terminal output doesn’t look blurry or unreadable in normal video recordings. I love that it uploads easily to self-hosted servers, which is perfect because I replaced Google Drive with a self‑hosted cloud.
Distro | Installation command |
|---|---|
Debian / Ubuntu / Linux Mint / Pop!_OS | sudo apt install asciinema |
RHEL / CentOS / Fedora / Rocky Linux / AlmaLinux | sudo dnf install asciinema |
Arch Linux / Manjaro / EndeavourOS | sudo pacman -S asciinema |
Maximize your terminal, minimize friction
My terminal interaction has evolved with these tools. Each one has addressed a persistent friction point in my workflow, and they make my command line more intuitive and powerful.
However, the real value isn’t just speed—it’s the clarity, efficiency, and confidence they bring. Making them part of my workflow has helped me reclaim time and reduce errors. I have a reproducible workflow that I genuinely love using, and I finally multitask in ways I thought were impossible.


