Skip to content

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 apt cannot find eza, 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 fd as fdfind and bat as batcat. 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-put from 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-R integration may need to be enabled by your shell package or Bash configuration. If it does not work after installation, check fzf --help and 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 fdfind on Ubuntu and Debian unless you have created an alias named fd.

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 rm with a permanent-delete shortcut. Keep the safer trash-cli setup from Safe delete.

Common mistakes

  • If a command is not found, verify the package name and run command -v command-name before adding an alias.
  • fdfind and batcat are common Ubuntu names; fd and bat may not exist until you create aliases.
  • Do not use rm -rf just 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 ls with eza, find with fdfind, and cat with batcat.

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.