Skip to content
10 Actually Useful Linux Commands You Probably Don't Know

10 Actually Useful Linux Commands You Probably Don't Know

DodaTech Updated Jun 20, 2026 3 min read

You know ls, cd, and grep. Everyone does. The commands here are different — they’re the ones that, once you try them, make you wonder how you lived without them. Every entry replaces a built-in tool or solves a problem the standard tools leave unsolved.

The Commands

ncdu — Interactive disk usage analyzer that scans your filesystem and presents a navigable, sorted view of space consumption. Arrow keys to browse, d to delete. Replaces du -sh * with something you can actually explore.

fzf — Fuzzy finder that pipes any list (files, processes, Git branches, command history) into an interactive search. Start typing and it narrows results instantly. Pipe it with Ctrl+R for reverse search through command history — it’s transformative.

# Search through all files recursively, open selection in vim
vim $(fzf)

batcat with syntax highlighting, line numbers, and Git integration. Shows a +/- gutter for modified lines when viewing tracked files. Works with pipes too — bat file.rs | head still gets highlighting.

bat --style=numbers,changes script.py

ripgrep / rggrep replacement that respects .gitignore, ignores binary files, and searches 10-100x faster. Recursive by default. Smart case sensitivity — only cases when the pattern has uppercase.

# Search all Rust files for async fn, ignoring .gitignore patterns
rg "async fn" --type rust

fdfind replacement with intuitive syntax. fd pattern instead of find -name 'pattern'. Respects .gitignore, supports regex, and colorizes output by default.

# Find CSV files modified in the last week
fd --extension csv --changed-within 1week

tmux — Terminal multiplexer that manages multiple shell sessions in one window, keeps processes running when disconnected, and splits panes into grids. Essential for remote servers: start a long task, disconnect, reconnect later and it’s still running.

tmux new -s build-session   # Create named session
# Ctrl+b d to detach
tmux attach -t build-session # Reattach later

jqsed for JSON. Parses, filters, and transforms JSON from the command line. Indispensable for working with any API output.

curl api.github.com/repos/curl/curl | jq '.stargazers_count'

htop/btop — Interactive process viewer that’s immediately better than top. Color-coded, sort by any column, kill processes with a single key. btop adds GPU monitoring and mouse support.

htop
# Navigate with arrow keys, F9 to kill, F6 to sort

duf — Disk usage with clean, colorized tables. Better than df in every way — shows mount points, usage percentages, and available space in a human-readable format with automatic unit scaling.

duf
# Outputs a table of all mounted filesystems with usage

tldr — Simplified man pages with practical examples. When man is an information firehose, tldr gives you the 5 most common use cases. Community-maintained and significantly faster to read.

tldr tar
# Shows: extract, create, list, append with actual examples
Do I need to install these or are they built-in?
None are built-in. Each needs to be installed via your package manager: apt install ncdu fzf bat ripgrep fd-find tmux jq htop duf tldr. Most are in all major distro repos. Homebrew equivalents exist for macOS.
Will using ripgrep and fd replace grep and find completely?
Almost. rg handles text search, fd handles file search. Edge cases exist where you need the originals (non-recursive, non-glob matching, etc.), but these cover 95% of daily use.
What is the hardest to learn from these?
Probably tmux — it has a learning curve because of the modal keybindings. Invest an hour in the basics and it pays back continuously, especially if you work on remote servers or run long processes.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro