My top 5 CLI tools on Linux
There are many great CLI tools out there, and it is really hard to pick only a few. But if I had to choose my top five tools that I use or really like, these would be my picks.
1. tmux
In the first position, I have to put tmux.
Tmux is a CLI tool that lets you create and reopen terminal sessions. You can also split one terminal window into multiple panes, which is very useful when you work on more things at the same time.
I am not a tmux power user. I know it can do much more, but I only use a few basic commands to manage my sessions:
- tmux new -s name – start a new session with a specific name.
- tmux attach -t name – enter or reopen an existing session.
- tmux kill-session -t name – kill one specific session.
- tmux kill-server – kill all running tmux sessions at once.
When it comes to shortcuts inside the terminal, I keep it very simple with my custom setup. I mostly use only three shortcuts:
- Ctrl + n – open a new pane.
- Ctrl + q – close a pane.
- Alt + arrows – move between panes.
That is really all I need. Nothing special, nothing extra.
I know tmux can do much more, but my idea with tools like this is simple: use only what is easy to remember and what you will actually use every day.
2. fzf
Next is fzf.
Fzf is one of the best terminal search tools. It is fast, simple, and very useful. It helps you search files, folders, and command history directly from the terminal.
Just like with tmux, I do not use all the advanced features. I mostly rely on only three standard shortcuts:
- Alt + c – search for directories and jump straight into them.
- Ctrl + t – quickly find files.
- Ctrl + r – search through terminal command history.
The last one is probably my favorite. Ctrl + r is a lifesaver when you need to find some old command and you do not want to type it again from memory.
Fzf is one of those tools that feels small at first, but after you start using it, you do not want to work without it.
3. yazi
Another great tool is yazi.
Yazi is a terminal file manager. It lets you browse files and folders directly in the terminal, but in a much nicer way than using only "cd", "ls", and other basic commands.
For me, yazi is useful when I want to move around my project quickly, preview files, rename things, or just check folder structure without leaving the terminal.
It is fast, clean, and comfortable to use. I still use normal terminal commands a lot, but yazi is great when I want a more visual way to work with files.
Again, I do not use every feature. I mostly use it as a simple terminal file browser, and that is enough for me.
4. duf
The next tool is duf.
Duf is a nicer alternative to the classic "df" command. It shows disk usage in a clean and readable table.
You can quickly see how much space is used, how much is free, and what disks or partitions are mounted on your system.
The reason I like duf is simple: the output is much easier to read than the default "df -h".
For example, when I want to quickly check disk space, I can just run:
duf
And I immediately get a clear overview.
It is not a complicated tool, but it does one job very well.
5. btop and ctop
For the last position, I would put btop and ctop together.
They are not the same tool, but for me they belong in the same category because both are used for monitoring.
btop is a system monitor for the terminal. It shows CPU usage, memory usage, disks, network, and running processes. It looks much better than classic tools like "top" or "htop", and it is very easy to read.
I use btop when I want to quickly check what is happening on my machine.
ctop is similar, but it is focused on Docker containers. It shows running containers, CPU usage, memory usage, logs, and other useful information.
If you work with Docker, ctop is very handy because you can quickly see what your containers are doing without writing many Docker commands.
Both tools are simple, useful, and easy to understand.
I know there are many other powerful CLI tools, and every developer has their own favorites. But I like tools that are simple, fast, and easy to remember.
For me, the best tool is not always the one with the most features. The best tool is the one I actually use every day.