Back to articles

Modern CLI Tools Collection

Computer TechTerminalModern CLI Tools Collection
Updated 4/23/2026

Modern CLI Tools Collection

Modern Rust-based and improved alternatives to classic Unix commands - faster, prettier, and more user-friendly.

Based on NetworkChuck's "37 INSANE Linux Commands" video.

File Navigation

exa / eza - Better ls

Better color coding, tree view, Git integration, icons.

bash
# Install
brew install eza  # exa is deprecated, use eza

# Basic usage (replaces ls)
eza

# With icons
eza --icons

# Tree view
eza --tree

# Git status integration
eza --git

# Long format with Git + icons
eza -l --git --icons

Alias:

bash
alias ls='eza --icons'
alias ll='eza -l --git --icons'
alias tree='eza --tree'

fd - Better find

Faster, better defaults, colored output.

bash
# Install
brew install fd

# Find files (case-insensitive by default)
fd pattern

# Find in specific directory
fd pattern /path/to/search

# Execute command on results
fd '\.txt$' -x cat {}

# Ignore hidden files (default), include with -H
fd -H pattern

zoxide - Smarter cd

Jump to frequently/recently used directories.

bash
# Install
brew install zoxide

# Add to shell (in ~/.zshrc)
eval "$(zoxide init zsh)"

# Usage
z downloads    # Jump to most frecent "downloads" directory
zi            # Interactive selection with fzf

Already in your workflow! Just use z more.

Ranger - TUI File Manager

Vim-like file browser in terminal.

bash
# Install
brew install ranger

# Launch
ranger

# Navigate: h/j/k/l (Vim keys)
# Preview files: i
# Bulk rename: :bulkrename

System Monitoring

procs - Better ps

Prettier process list with colors and tree view.

bash
# Install
brew install procs

# View all processes
procs

# Sort by CPU
procs --sortd cpu

# Tree view
procs --tree

# Search processes
procs nginx

glances - All-in-One Dashboard

System stats dashboard (CPU, RAM, disk, network).

bash
# Install
brew install glances

# Launch
glances

# Run as web server
glances -w
# Open http://localhost:61208

iotop - Disk I/O Monitor

See what's hammering your disk.

bash
# Install (Linux only)
sudo apt install iotop

# Run
sudo iotop

# Sort by I/O
sudo iotop -o

dstat - Combined Stats

CPU, RAM, disk, network in one timeline.

bash
# Install
brew install dstat

# Basic
dstat

# Top CPU processes
dstat --top-cpu

# Advanced
dstat -cdngy
# c=cpu, d=disk, n=network, g=page, y=system

Disk Usage

ncdu - Visual Disk Usage

Interactive disk usage analyzer - delete files right there.

bash
# Install
brew install ncdu

# Analyze current directory
ncdu

# Analyze specific path
ncdu /var/log

# Navigation:
# j/k - Move up/down
# Enter - Drill into directory
# d - Delete selected file/folder
# q - Quit

Much better than du -sh *

duf - Prettier df

Shows drive usage with color-coding.

bash
# Install
brew install duf

# Show all drives
duf

# Specific mount
duf /home

Network Tools

dog - Better dig

DNS lookups with color.

bash
# Install
brew install dog

# Basic query
dog example.com

# Specific record type
dog example.com MX

# DNS over TLS
dog example.com @1.1.1.1 --tls

# JSON output
dog example.com --json

mtr - Ping + Traceroute

Live latency/packet loss per hop.

bash
# Install
brew install mtr

# Run (requires sudo on macOS)
sudo mtr google.com

# Report mode (non-interactive)
mtr --report google.com

termshark - Wireshark in Terminal

TUI packet analyzer.

bash
# Install
brew install termshark

# Capture on interface
termshark -i en0

# Read pcap file
termshark -r capture.pcap

# Filter (like Wireshark)
# Press / to filter
# Example: dns, http, tcp.port==80

Mouse support - click around, expand packets.

File Transfer

wormhole - Magic File Transfer

P2P encrypted file transfer with one command.

bash
# Install
brew install magic-wormhole

# Send file
wormhole send file.zip
# Returns code: 7-guitarist-revenge

# Receive (on other machine)
wormhole receive 7-guitarist-revenge

Peer-to-peer or relay-based. Just works.

rsync - Smart Sync

Delta-only transfers, resume broken transfers.

bash
# Sync directories
rsync -avz source/ dest/

# Over SSH
rsync -avz -e ssh source/ user@server:/path/

# Resume broken transfer (automatic with -a)
rsync -avz --partial source/ dest/

# Dry run (show what would change)
rsync -avzn source/ dest/

Data Processing

jq - JSON Processor

Parse and transform JSON from CLI.

bash
# Install
brew install jq

# Pretty-print JSON
curl api.com/data | jq '.'

# Extract field
curl api.com/data | jq '.results[0].name'

# Filter array
jq '.[] | select(.status == "active")' data.json

# Transform structure
jq '.items | map({id, name})' data.json

ripgrep (rg) - Better grep

Already in your workflow! You use this.

bash
# Search recursively
rg pattern

# Case-insensitive
rg -i pattern

# File type filter
rg -t python 'def '

# Show context
rg -C 3 pattern

Utilities

fzf - Fuzzy Finder

Already integrated with Yazi!

bash
# Fuzzy find files
fzf

# Preview while searching
fzf --preview 'cat {}'

# Use in scripts
vim $(fzf)

# Search history
Ctrl-R (if fzf integrated)

unp - Universal Unpacker

Extract any archive type.

bash
# Install
brew install unp

# Auto-detect and extract
unp archive.tar.gz
unp file.zip
unp package.deb
unp anything.7z

No more remembering tar xzvf vs tar xjvf.

moreutils Collection

Useful utilities: ts, errno, vidir, vipe, ifdata.

bash
# Install
brew install moreutils

# Add timestamps to output
long-running-command | ts

# Edit directory names in text editor
vidir /path/to/dir

# Insert editor in pipeline
echo "data" | vipe | process

# Network interface stats (simpler than ifconfig)
ifdata -p eth0

Security

shred - Secure Delete

Overwrite files before deletion (thwart recovery).

bash
# Shred file (multiple passes)
shred -vfz -n 10 sensitive-file.txt

# Shred and remove
shred -vfzu sensitive-file.txt

Note: SSDs make this less effective (wear leveling).

Task Management

taskwarrior - CLI Task Manager

Full-featured task management from terminal.

bash
# Install
brew install task

# Add task
task add Write article about Linux commands

# List tasks
task list

# Complete task
task 1 done

# Filter by project
task project:midimaze list

# Due dates
task add Due article tomorrow due:tomorrow

System Analysis

lsof - List Open Files

Find what's using a port or file.

bash
# What's on port 8080?
lsof -i :8080

# What files is process using?
lsof -p 1234

# What's using /var/log?
lsof /var/log

systemd-analyze - Boot Analysis

Linux boot performance.

bash
# Boot time breakdown
systemd-analyze blame

# Critical path
systemd-analyze critical-chain

# Visualize (creates SVG)
systemd-analyze plot > boot.svg

ipcalc - Subnet Calculator

Quick subnet math.

bash
# Install
brew install ipcalc

# Calculate subnet
ipcalc 10.0.0.0/24

# Get range, broadcast, etc
ipcalc 192.168.1.0/24

Terminal Recording

asciinema - Record Terminal

See dedicated asciinema - Terminal Session Recording article.

bash
asciinema rec demo.cast
# Do stuff
# Ctrl-D to stop

asciinema play demo.cast

agg - Convert to GIF

Turn asciinema recordings into GIFs.

bash
cargo install --git https://github.com/asciinema/agg

agg demo.cast demo.gif

Docker Management

lazydocker - Docker TUI

See dedicated Lazy Docker article.

bash
lazydocker
# Visual container management
# Mouse support
# Real-time stats

Comparison Chart

TaskOld ToolNew ToolKey Benefit
List fileslsezaIcons, Git status, tree
Find filesfindfdFaster, better defaults
Change dircdzoxideJump to frecent dirs
Search textgreprgMuch faster
Process listpsprocsColor, tree view
Disk usageduncduInteractive, delete files
DNS lookupdigdogColor, DoT support
JSON parsesed/awkjqPurpose-built
Extract archivetar/unzipunpAuto-detect format

Installation Quick Start

macOS (all at once):

bash
brew install eza fd zoxide ripgrep procs ncdu duf dog mtr \
  termshark magic-wormhole jq moreutils task lazydocker \
  asciinema

Update aliases:

bash
# In ~/.config/zsh/conf.d/10-aliases.zsh
alias ls='eza --icons'
alias ll='eza -l --git --icons'
alias cat='bat'  # Also install: brew install bat
alias find='fd'
alias grep='rg'

NetworkChuck Video: 37 INSANE Linux Commands

Modern Unix (GitHub)