Linux Terminal PowerTools
Last updated 2026-09-15 · 7 notes · 3 tags
Tags: linux terminal tools
Use these tools after you are comfortable with cd, ls, find, grep, and basic Git. They make it faster to navigate folders, find code, inspect files, and manage project files from Ubuntu or WSL.
Note: These are optional productivity tools. The basic commands in the earlier terminal notes still work if one of them is not installed.
1. Install the tools
Try the Ubuntu package manager first:
sudo apt update
sudo apt install mc eza fzf ripgrep fd-find bat
Verify the commands that are available:
mc --version
eza --version
fzf --version
rg --version
fdfind --version
batcat --version
Note: Package availability can vary by Ubuntu release. If
aptcannot findeza, install it from the official release instructions or another package manager supported by your distribution. Do not run an installation command from an untrusted script.Note: Ubuntu and Debian commonly expose
fdasfdfindandbatasbatcat. The examples below use those package names unless you create aliases for them.
2. Midnight Commander (mc)
Midnight Commander is a classic two-pane file manager, similar to Total Commander.
Launch it from a project or its parent folder:
mc
Useful keys:
| Key | Action |
|---|---|
Tab |
Switch panes |
F5 |
Copy |
F6 |
Move or rename |
F7 |
Create a folder |
F8 |
Delete |
F3 |
View a file |
F4 |
Edit a file |
F10 |
Quit |
Use mc when you need to move project folders, copy several files, or browse a large directory tree visually.
Warning: Check the active pane and selected path before copying, moving, or deleting. For recoverable deletion, use
trash-putfrom Safe delete when the interface allows you to enter a command.
3. Eza (eza)
Eza is a modern replacement for ls with tree views and Git-aware listings.
eza
eza -l
eza -la
eza --tree --level=2
eza -lah --git
eza --icons
Use eza --tree --level=3 to inspect a project without opening every folder.
4. Fzf
Fzf is a fuzzy finder for history, files, directories, and other command output.
Search command history with Ctrl-R, then type part of a previous command. You can also search files directly:
fzf
find . -type d | fzf
git branch | fzf
Open a selected file in an editor:
vim "$(fzf)"
Note: The
Ctrl-Rintegration may need to be enabled by your shell package or Bash configuration. If it does not work after installation, checkfzf --helpand restart the terminal after enabling the integration.
5. Ripgrep (rg)
Ripgrep is a fast text search tool for source code and project files. It normally skips hidden files and ignored Git paths, which makes it useful inside repositories.
rg "TODO"
rg "function_name" ~/projects
rg --files | rg "\.py$"
Search a specific project folder:
rg "api_key" ~/projects/your-project
Warning: Search results can include secrets in local configuration files. Do not paste API keys or other credentials into a public issue, chat, or commit.
6. Fd (fdfind)
Fd is a simpler alternative to many common find commands.
fdfind "\.py$"
fdfind node_modules ~/projects
fdfind --type d project ~/projects
Combine it with fzf when you want to choose one result:
fdfind --type f | fzf
Note: Use
fdfindon Ubuntu and Debian unless you have created an alias namedfd.
7. Bat (batcat)
Bat is a cat replacement with syntax highlighting, line numbers, and paging for many file types.
batcat README.md
batcat -n path/to/file.py
batcat config.json
For a short file or plain output, the existing cat command is still appropriate.
8. Add optional Bash aliases
Open your Bash configuration:
nano ~/.bashrc
Add aliases only for commands installed on your machine:
alias ls='eza'
alias ll='eza -lah'
alias lt='eza --tree --level=2'
alias l='eza -l'
alias fd='fdfind'
alias bat='batcat'
alias fm='mc'
Reload Bash:
source ~/.bashrc
Check an alias:
alias ll
Note: Do not replace
rmwith a permanent-delete shortcut. Keep the safertrash-clisetup from Safe delete.
Common mistakes
- If a command is not found, verify the package name and run
command -v command-namebefore adding an alias. fdfindandbatcatare common Ubuntu names;fdandbatmay not exist until you create aliases.- Do not use
rm -rfjust because a file manager makes deletion feel safer. Confirm the path and use Trash for everyday cleanup. - Keep the original commands available while learning. You can always compare
lswitheza,findwithfdfind, andcatwithbatcat.
Daily examples
eza -lah
eza --tree --level=2
rg "TODO" .
fdfind --type f | fzf
batcat README.md
mc
This project captures ideas, decisions, and lessons I’ve learned while building with AI. It aims to help non-technical users understand and use these tools effectively. I also use AI at times to improve or refine the content.
Readers should use the commands and instructions here with care. The creator accepts no responsibility for system damage, data loss or other consequences resulting from their use.