Modern terminal tools worth knowing

Developers have been steadily building replacements and enhancements for the classic Unix toolbox, often focusing on speed, readability, or better interactivity. A recent discussion on Twitter surfaced many of these tools, and the community's favorites echo through the modern-unix list. Below is a practical roundup, grouped by what they do rather than when they appeared.

Drop-in replacements for familiar commands

These tools aim to be better versions of commands you already use daily, with the goal of less typing, clearer output, or faster execution:

  • ripgrep, ag, ack for grep
  • exa and lsd for ls; bat for cat
  • fd for find; duf for df; dust and ncdu for du
  • mosh as a more resilient ssh
  • delta adds syntax highlighting and better diffs to git
  • drill and dog for DNS lookups via dig
  • pgcli brings auto-completion to psql
  • Process monitors: btm, btop, glances, gtop, zenith for top
  • tldr as cheatsheet-style man pages; sd for simpler sed expressions
  • difftastic for structural diffs; mtr combines ping and traceroute
  • plocate is a much faster locate; hexyl and xxd handle hex dumps

New categories, new workflows

Beyond replacements, a wave of tools targets workflows that didn't have dedicated CLI companions before:

  • Directory jumpers: z, fasd, autojump, zoxide
  • Interactive file managers: broot, nnn, ranger
  • direnv sets environment variables per directory; fzf and peco are fuzzy finders
  • croc and magic-wormhole transfer files between machines; tmate shares terminals
  • hyperfine runs benchmarks; httpie, curlie, xh request HTTP endpoints
  • entr triggers commands on file changes; asdf manages multiple language versions
  • Git interfaces: tig and lazygit; lazydocker does the same for Docker; ctop for container metrics
  • choose handles the basics of awk/cut; fuck suggests corrections for command errors
  • Log tools: lnav and angle-grinder; Markdown viewers mdp and glow
  • pbcopy/pbpaste and Linux's xclip bridge the clipboard and pipes
  • atuin provides richer shell history

Data wrangling at the CLI

The ecosystem has grown impressively for structured data:

  • JSON: jq, jc (convert command output), jo (build objects), fx (interactive), jless (pager), gron (flattens JSON to make it greppable)
  • YAML: yq (two variants exist); binary: fq; HTML: htmlq
  • CSV: xsv and the broader visidata for tabular exploration
  • miller applies awk-like logic to CSV/TSV/JSON
  • PDF/archives: pdfgrep and ripgrep-all extend search into PDFs, zip files, and ebooks

Older but under-used

Some not-new utilities surfaced as under-appreciated:

  • pv (pipe viewer) adds progress bars to pipes
  • From moreutils: vidir edits filenames in vim for batch rename/delete; sponge, ts, and parallel are also worth noting

Highlights worth a look

Tools like entr, ripgrep, git-delta, httpie, plocate, and jq are proven addictions. The most intriguing finds for many are direnv, btm, z, xsv, duf, and especially vidir, which opens up batch file operations in an editor you already know.