Enhancing Your Linux CLI Experience: Ten Essential Tools for September 2025

In the world of Linux, the command-line interface (CLI) is a powerhouse for productivity. Whether you’re a developer, system administrator, or enthusiast, enhancing your terminal with modern tools can make everyday tasks more efficient and visually appealing.
This guide covers a selection of essential CLI tools, from font enhancements to advanced search utilities and downloaders. We’ll dive into descriptions, features, installation methods (with a focus on Debian), usage tips, and command examples for each.
Nerd Fonts #
Description #
Nerd Fonts is an iconic font aggregator, collection, and patcher that enhances developer fonts with extra glyphs from sets like Font Awesome, Devicons, and Octicons.
Features #
- Over 10,390 icons for file types like .css, .js.
- 68+ patched fonts (e.g., Hack, FiraCode).
- Cross-platform support.
- Integrated in projects like Powerlevel9k, VimDevIcons.
- Font patcher script for custom fonts with millions of variations.
Installation on Linux #
Download patched fonts from https://www.nerdfonts.com/font-downloads. Extract and copy to ~/.fonts, then fc-cache -fv.
Installation on Debian 12 #
sudo apt install fontconfig unzip
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Hack.zip
unzip Hack.zip -d ~/.fonts
fc-cache -fv
Set Hack Nerd Font in terminal settings.
Usage #
Install font, set in terminal (e.g., iTerm2 or GNOME Terminal). Use in prompts for icons. Patch custom fonts: ./font-patcher font.ttf --complete
.
Command Examples #
# Download
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Hack.zip
# Patch
./font-patcher font.ttf --complete
lsd #
Description #
lsd is a modern ls rewrite with colors, icons, tree-view, and formatting options.
Features #
- Color-coded output.
- File icons (requires Nerd Fonts).
- Tree view (–tree).
- Date formatting, permissions display.
- Git integration.
Installation on Linux #
Arch: pacman -S lsd. Debian/Ubuntu: apt install lsd. Or cargo install lsd.
Installation on Debian #
sudo apt update
sudo apt install lsd
Usage #
- Basic:
lsd
- Long:
lsd -l
- Tree:
lsd --tree
- Icons:
lsd --icon always
- Config:
~/.config/lsd/config.yaml
Command Examples #
lsd
lsd -l
lsd --tree
lsd --icon always
Starship #
Description #
Starship is a minimal, fast, customizable shell prompt for any shell.
Features #
- Git status, battery, time modules.
- Conditional formatting.
- Cross-shell (Bash, Zsh, Fish).
- Preset configs.
Installation on Linux #
curl -sS https://starship.rs/install.sh | sh. Or brew install starship.
Installation on Debian #
curl -sS https://starship.rs/install.sh | sh
Add eval "$(starship init bash)"
to ~/.bashrc
.
Usage #
Add to ~/.bashrc
: eval "$(starship init bash)"
. Config: ~/.config/starship.toml
. Example: [git_branch] symbol = "🌿 "
.
Command Examples #
starship preset nerdfont-symbols
eval "$(starship init bash)"
Oh My Posh #
Description #
Oh My Posh is a customizable prompt engine with themes for shells.
Features #
- Themes with Git, status indicators.
- Segments for time, exit code.
- Cross-platform.
- JSON config.
Installation on Linux #
brew install jandedobbeleer/ohmyposh/oh-my-posh. Or wget install script.
Installation on Debian #
sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
sudo chmod +x /usr/local/bin/oh-my-posh
Add eval "$(oh-my-posh init bash)"
to ~/.bashrc
.
Usage #
eval "$(oh-my-posh init bash)"
. Set theme: oh-my-posh --config theme.omp.json
. Example: segments like git, battery.
Command Examples #
oh-my-posh get themes
eval "$(oh-my-posh init bash)"
bat #
Description #
bat is a cat clone with syntax highlighting and Git integration.
Features #
- Syntax highlighting for 200+ languages.
- Git diff colors.
- Paging if output exceeds terminal.
- Line numbers, grid.
Installation on Linux #
Debian/Ubuntu: apt install bat. Arch: pacman -S bat. Alias cat=batcat.
Installation on Debian #
sudo apt update
sudo apt install bat # executable: batcat
Usage #
- View file:
bat file.txt
- Numbers:
bat -n file
- Git:
bat --diff
- Theme:
bat --list-themes
Command Examples #
batcat file.txt
batcat -n file.txt
ccze #
Description #
ccze is a log colorizer for tools like syslog, apache.
Features #
- Plugins for httpd, postfix, squid.
- Modular, fast.
- Color schemes.
Installation on Linux #
Debian/Ubuntu: apt install ccze. Arch: pacman -S ccze.
Installation on Debian #
sudo apt update
sudo apt install ccze
Usage #
- Colorize log:
tail -f /var/log/syslog | ccze -A
- HTML:
ccze -h < log > out.html
- Config:
/etc/ccze.conf
Command Examples #
tail -f /var/log/syslog | ccze -A
ccze -h < log > out.html
fzf #
Description #
fzf is a command-line fuzzy finder for files, history, processes.
Features #
- Interactive search.
- Bindings for Ctrl+R, Ctrl+T.
- Preview windows.
- Vim integration.
Installation on Linux #
git clone –depth 1 https://github.com/junegunn/fzf.git ~/.fzf; ~/.fzf/install. Or apt install fzf.
Installation on Debian #
sudo apt update
sudo apt install fzf
Usage #
- Files:
fzf
- History:
Ctrl+R
- With vim:
vim $(fzf)
- Preview:
fzf --preview 'bat {}'
Command Examples #
fzf
vim $(fzf)
ripgrep #
Description #
ripgrep (rg) is a fast regex search tool respecting .gitignore.
Features #
- Faster than grep.
- Recursive search.
- Color output.
- File types, globs.
Installation on Linux #
Debian/Ubuntu: apt install ripgrep. Arch: pacman -S ripgrep.
Installation on Debian #
sudo apt update
sudo apt install ripgrep
Usage #
- Search:
rg pattern
- Files:
rg -l pattern
- Type:
rg --type py pattern
- Ignore:
rg -u pattern
Command Examples #
rg pattern
rg -l pattern
yt-dlp #
Description #
yt-dlp is a feature-rich audio/video downloader for YouTube and sites.
Features #
- Formats selection.
- Subtitles, thumbnails.
- Playlists, channels.
- SponsorBlock.
Installation on Linux #
pip install yt-dlp. Or curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp; chmod a+rx /usr/local/bin/yt-dlp.
Installation on Debian #
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
chmod a+rx /usr/local/bin/yt-dlp
Usage #
- Video:
yt-dlp URL
- Best:
yt-dlp -f best URL
- Audio:
yt-dlp -x --audio-format mp3 URL
- Update:
yt-dlp -U
Command Examples #
yt-dlp URL
yt-dlp -f best URL
These tools can transform your Linux CLI into a more intuitive and powerful environment. Start by installing a few that align with your workflow, and experiment with their configurations. If you’re on Debian 12, the provided instructions should get you up and running quickly. Happy hacking!