4 Command Line Tools I Install On Every Server
Publish Date - 22nd March 2022
Last Updated - 22nd March 2022
FZF
Have you ever tried to remember a command (for the command line) that you wrote 12 days ago?
It's not uncommon to write hundreds of commands in a single day. It's not possible to remember all them. Enter FZF. fzf is a fuzzy search application for the command line.
With fzf, you can press ctrl + r
and get a list of all your entered previous commands. You can search through them.
Pro tip - if you clear your command line history, you cannot search that history anymore. Don't clear it.
ZSH shell
zsh shell isn't that special on it's own. I use it because of OH-MY-ZSH. OH-MY-ZSH is a group of extensions, plugins and function that allow you to create a customised terminal experience.
Why is that important?
Because the tools we use to create software are as important as the code. Having a consistent experience means we can get to work without interruption.
Tmux
Tmux is a "terminal multiplexer daemon".
It allows you to run many terminal sessions. And it keeps your running in the back ground. If your terminal app closes, you can reopen it and continue where you left off. It's also very useful for running local servers.
I do not know how I lived in the past without Tmux.
Before using Tmux, I didn't understand what it was or why it was valuable. There are many reasons for this. Too many to go over here. I will give you the immediate reason why I use it:
Tmux decouples the terminal process and the terminal application. If you close your terminal application, you can reconnect to tmux and continue where you left off.
Tmuxinator
Overtime, you will build a workflow with Tmux.
You might have four different sessions for 4 different projects. Each project may have 5+ terminals windows. Each terminal window can will split inti 1-4 different panes running different processes.
That's over 40-100 different processes. Tmux runs in the background but the background process will close if you restart your computer. Opening all these windows and panes would be hell.
Tmuxinator is a Tmux state saving manager. You can tell Tmuxinator the exact setup for one session. And in one command it will open the entire session with all it's windows and panes. You can even tell tmuxinator to execute shell commands in the panes.
Also couldn't live without it.