A curated list of modern alternatives to classic command-line tools.
Faster, prettier, smarter replacements for the Unix utilities you use every day.
|
bat cat with syntax highlighting
|
btop beautiful system monitor
|
|
lazygit terminal UI for git
|
delta syntax-aware diff viewer
|
|
starship customizable shell prompt
|
fzf fuzzy finder for everything
|
|
gping ping with a graph
|
lazydocker terminal UI for Docker
|
More highlights (eza, ripgrep, zoxide, hyperfine)
|
eza modern ls replacement
|
ripgrep extremely fast grep
|
|
zoxide smarter cd
|
hyperfine command benchmarking
|
- File Listing
- File Search
- File Management
- Text Search
- Text Processing
- Text Viewing
- Text Editors
- JSON / YAML / CSV
- Shell & Prompt
- Shell History
- Navigation
- Fuzzy Finding
- Version Control
- Diff Tools
- System Monitoring
- Process Management
- Disk Usage
- Network Tools
- HTTP Clients
- API Testing
- DNS Tools
- Benchmarking
- Compression
- File Transfer
- Terminal Emulators
- Terminal Multiplexers
- Task Runners
- Version Managers
- JS / TS Toolchain
- Static Site Generators
- Container Tools
- Kubernetes
- Database Clients
- Security Tools
- Calculator
- Documentation
- Presentation
- Media
- Messaging
- Productivity
- Code Counting
- Spelling & Linting
- Tunneling
- Web
- Miscellaneous
- Resources
Replacements for
lsandtree.
- broot - A new way to see and navigate directory trees with fuzzy search.
Rust - eza - A modern, maintained replacement for ls with colors, icons, and git integration.
Rust - lla - A fast ls alternative with a plugin system for extended functionality.
Rust - lsd - The next gen ls command with pretty colors and file icons.
Rust - pls - ls for the pros, with developer-friendly features and Nerd Font icons.
Rust - tre - A tree command improved with git awareness and editor integration.
Rust
Replacements for
find.
- fd - A simple, fast, and user-friendly alternative to find.
Rust - fselect - Find files with SQL-like queries.
Rust
Replacements for
ranger,rm,cp, and file managers.
- clifm - A command-line file manager that lives in the shell.
C - f2 - Cross-platform tool for fast, safe, and flexible batch renaming.
Go - fclones - Efficient duplicate file finder and remover.
Rust - fuc - Fast cp and rm commands for modern hardware.
Rust - joshuto - Ranger-like terminal file manager with vi keybindings.
Rust - kondo - Find and delete software project build artifacts to reclaim disk space.
Rust - lf - Fast, extensively customizable terminal file manager.
Go - nnn - The unorthodox terminal file manager, tiny and blazing fast.
C - nomino - Batch rename utility using regex, sort, and map.
Rust - rip - A safe and ergonomic alternative to rm with a graveyard for recovery.
Rust - superfile - Pretty and modern terminal file manager.
Go - xplr - A hackable, minimal, fast TUI file explorer.
Rust - yazi - Blazing fast terminal file manager with async I/O and image preview.
Rust
Replacements for
grepandag.
- ast-grep - Structural code search, lint, and rewriting using AST patterns.
Rust - rare - Real-time regex-powered aggregation and analytics on the command-line.
Go - ripgrep - An extremely fast alternative to grep that respects gitignore.
Rust - ripgrep-all - ripgrep, but also searches PDFs, e-books, Office documents, zip, and archives.
Rust - sig - Interactive grep for streaming data.
Rust - srgn - A grep-like tool that understands source code syntax.
Rust
Replacements for
sed,awk,cut, anduniq.
- choose - A human-friendly and fast alternative to cut and awk.
Rust - grex - Generate regular expressions from user-provided test cases.
Rust - hck - A faster and more featureful drop-in replacement for cut.
Rust - rargs - xargs + awk with pattern matching support.
Rust - runiq - Efficient way to filter duplicate lines from unsorted input.
Rust - ruplacer - Find and replace text across multiple source files.
Rust - scooter - Interactive find and replace in the terminal.
Rust - sd - An intuitive find-and-replace CLI, a simpler sed alternative.
Rust
Replacements for
cat,less, andhexdump.
- bat - A cat clone with syntax highlighting and Git integration.
Rust - fblog - Small command-line JSON log viewer with smart formatting.
Rust - glow - Render markdown beautifully in the terminal.
Go - hexyl - A command-line hex viewer with colored output.
Rust - lnav - An advanced log file viewer with automatic format detection.
C++ - mdcat - Render Markdown in the terminal with syntax highlighting, links, and inline images.
Rust - tailspin - A log file highlighter that works out of the box.
Rust
Modern terminal-based editors.
- amp - A complete text editor for your terminal inspired by Vi/Vim.
Rust - edit - A simple terminal text editor from Microsoft, paying homage to MS-DOS Editor.
Rust - fresh - A TUI code editor with IDE features like LSP, git integration, and file tree.
Rust - helix - A post-modern modal text editor with built-in LSP and tree-sitter.
Rust - kakoune - Modal editor with multi-selection first design.
C++ - Lapce - A lightning-fast and powerful code editor with native GUI.
Rust - micro - A modern and intuitive terminal-based text editor, replaces nano.
Go - neovim - Vim-fork focused on extensibility and usability with Lua plugin system.
C - ox - An independent terminal text editor, simple and practical.
Rust - zed - A high-performance multiplayer code editor from the creators of Atom.
Rust
Replacements for
jq, data viewers, and structured data tools.
- csvlens - A TUI CSV file viewer, like less but made for tabular data.
Rust - dasel - Query and modify JSON, YAML, TOML, and XML from the command line.
Go - dyff - A diff tool for YAML files with semantic awareness.
Go - fx - Terminal JSON viewer and processor with interactive mode.
Go - gron - Make JSON greppable by flattening it to discrete assignments.
Go - jaq - A jq clone focused on correctness, speed, and simplicity; a near drop-in replacement for
jqfor most queries.Rust - jless - A command-line JSON viewer with vim-like navigation.
Rust - jnv - Interactive JSON filter using jq expressions with live preview.
Rust - jq - The original lightweight command-line JSON processor.
C - jsongrep - Fast search tool for JSON, YAML, and TOML with path query syntax.
Rust - qsv - A high-performance CSV toolkit, xsv fork with 34+ extra commands.
Rust - sc-im - A vim-like spreadsheet calculator for the terminal.
C - Tabiew - Lightweight TUI to view and query CSV, TSV, and Parquet files.
Rust - visidata - A terminal spreadsheet multitool for exploring and arranging data.
Python - xq - XML and HTML beautifier and content extractor.
Go - xsv - A fast CSV command line toolkit for slicing, indexing, and searching.
Rust - yq - jq wrapper for YAML, XML, and TOML documents.
Python
Modern shells and prompt customization.
- elvish - An expressive shell with a real programming language built-in.
Go - fish - The user-friendly command-line shell with autosuggestions.
Rust - nushell - A new type of shell with structured data pipelines.
Rust - oh-my-posh - A prompt theme engine for any shell with extensive themes.
Go - starship - Minimal, blazing-fast, and infinitely customizable prompt for any shell.
Rust
Replacements for
ctrl+rhistory search.
- atuin - Magical shell history stored in a SQLite database with optional encrypted sync.
Rust - mcfly - Fly through shell history with intelligent context-aware search.
Rust
Replacements for
cdand directory jumping.
- autojump - A cd command that learns from your navigation patterns.
Python - tere - A faster alternative to cd + ls for navigating directories.
Rust - zoxide - A smarter cd command that learns your habits.
Rust
Interactive filtering and selection tools.
- fzf - A general-purpose command-line fuzzy finder.
Go - skim - A general-purpose fuzzy finder in Rust, similar to fzf.
Rust - television - A blazing fast general-purpose fuzzy finder TUI.
Rust
Git TUIs and enhanced git workflows.
- gh-dash - A beautiful TUI dashboard for GitHub pull requests and issues.
Go - git-cliff - A highly customizable changelog generator following Conventional Commits.
Rust - git-extras - Git utilities like repo summary, changelog, and commit percentages.
Shell - gita - Manage multiple git repos side by side.
Python - gitui - Blazing fast terminal client for git.
Rust - jj - A Git-compatible VCS with simpler CLI, first-class conflicts, and auto-rebasing.
Rust - lazygit - A simple terminal UI for git commands.
Go - onefetch - Command-line Git information tool showing repo stats.
Rust - sapling - A scalable, user-friendly source control system from Meta.
Rust - serie - A rich git commit graph viewer for the terminal.
Rust - soft-serve - A tasty, self-hostable Git server for the command line.
Go - tig - Text-mode interface for git with browse and blame modes.
C
Better alternatives to
diff.
- delta - A syntax-highlighting pager for git, diff, and grep output.
Rust - difftastic - A structural diff that understands syntax across 30+ languages.
Rust
Replacements for
top,htop, and system info tools.
- bandwhich - Terminal bandwidth utilization tool showing per-process usage.
Rust - bottom - A cross-platform graphical process/system monitor.
Rust - btop - A resource monitor with beautiful TUI and extensive features.
C++ - fastfetch - A fast system information tool, neofetch replacement.
C - glances - An eye on your system with a top/htop alternative and web mode.
Python - gotop - Terminal-based graphical activity monitor.
Go - kmon - Linux Kernel Manager and Activity Monitor.
Rust - macmon - Sudoless performance monitoring for Apple Silicon.
Rust - nvtop - GPU process monitoring for AMD, Intel, and NVIDIA.
C - procs - A modern replacement for ps written in Rust.
Rust - systeroid - A more powerful alternative to sysctl with a terminal UI.
Rust - zenith - In-terminal graphical metrics with CPU, GPU, network, and disk charts.
Rust
Replacements for
nohup,bg, andkill.
- mprocs - Run multiple commands in parallel and view their output in a TUI.
Rust - pik - TUI tool to find and kill processes interactively.
Rust - process-compose - A scheduler and orchestrator for non-containerized processes with TUI.
Go - pueue - Manage long-running shell commands with a daemon and TUI.
Rust
Replacements for
duanddf.
- diskonaut - Terminal visual disk space navigator.
Rust - dua-cli - Disk usage analyzer with interactive navigation.
Rust - duf - A better df alternative with color-coded output and filtering.
Go - dust - A more intuitive version of du with visual output.
Rust - gdu - Fast disk usage analyzer with console interface.
Go - ncdu - A disk usage analyzer with an ncurses interface.
Zig
Tools for network diagnostics, scanning, traffic analysis, and file serving/transfer.
- copyparty - Portable file server with resumable uploads, dedup, WebDAV, SFTP, FTP, TFTP, and media indexing.
Python - gping - Ping, but with a graph.
Rust - miniserve - Serve files over HTTP from the terminal with a single command.
Rust - netscanner - A TUI network scanner.
Rust - nibble - A fast local network scanner with hardware vendor detection and service names.
Go - sniffnet - Monitor your network traffic easily with a cross-platform TUI.
Rust - termshark - A terminal UI for tshark, inspired by Wireshark.
Go - trippy - A network diagnostic tool combining ping and traceroute with rich TUI.
Rust
Replacements for
curlandwget.
- aria2 - Ultra-fast download utility supporting HTTP, FTP, BitTorrent, and Metalink.
C++ - curlie - The power of curl, the ease of use of httpie.
Go - httpie - A modern, user-friendly command-line HTTP client for the API era.
Python - xh - A friendly and fast tool for sending HTTP requests, an HTTPie reimplementation.
Rust
Replacements for Postman and API debugging tools.
- ATAC - A feature-full TUI API client, free, offline, and account-less.
Rust - HTTP Prompt - An interactive HTTP client with autocomplete and syntax highlighting.
Python - posting - A powerful HTTP client that lives in your terminal.
Python
Replacements for
digandnslookup.
- doggo - Command-line DNS client for humans with color-coded output.
Go
Replacements for
timeand load testing tools.
- hyperfine - A command-line benchmarking tool with statistical analysis.
Rust - oha - HTTP load generator with a real-time TUI.
Rust
Replacements for
tar,gzip, andunzip.
- crabz - Multi-threaded compression and decompression CLI tool.
Rust - ouch - Painless compression and decompression, smart format detection.
Rust
Replacements for
scpandrsync.
- croc - Easily and securely send things from one computer to another.
Go - portal - Send files between computers through an encrypted peer-to-peer tunnel.
Go - rclone - Sync files with any cloud provider, an rsync for cloud storage.
Go - termscp - TUI file transfer and explorer with SCP, SFTP, FTP, and S3 support.
Rust
Modern GPU-accelerated terminal emulators.
- alacritty - A cross-platform, GPU-enhanced terminal emulator focused on speed.
Rust - Ghostty - Fast, feature-rich, cross-platform terminal emulator with native platform UI.
Zig - rio - A hardware-accelerated GPU terminal emulator powered by WebGPU.
Rust - Warp - AI-powered modern terminal with structured command history and IDE-like features.
Rust - wezterm - A GPU-accelerated terminal emulator and multiplexer with Lua config.
Rust
Replacements for
tmuxandscreen.
- tmux - The classic terminal multiplexer with extensive plugin ecosystem.
C - zellij - A terminal workspace with batteries included, a tmux alternative.
Rust
Replacements for
makeand build tools.
- bacon - Background code checker, designed for Rust but works for any language.
Rust - entr - Run arbitrary commands when files change.
C - just - A handy command runner for project-specific tasks, a modern make.
Rust - watchexec - Execute commands in response to file modifications.
Rust
Replacements for
nvm,pyenv, andasdf.
- fnm - Fast Node Manager, a cross-platform nvm replacement.
Rust - mise - A polyglot tool version manager and task runner, asdf replacement.
Rust - volta - JavaScript toolchain manager that pins exact versions per project.
Rust
Modern JavaScript and TypeScript build tools and runtimes.
- Bun - All-in-one JavaScript runtime, bundler, test runner, and package manager.
Zig - Deno - A secure JavaScript/TypeScript runtime with built-in tooling.
Rust - oxc - A high-performance collection of JS/TS tools, 50-100x faster than ESLint.
Rust - SWC - A super-fast TypeScript/JavaScript compiler, replaces Babel.
Rust - Turborepo - High-performance build system for JavaScript/TypeScript monorepos.
Rust
Build static websites from templates and content.
- hugo - The world's fastest static site generator with multi-language support.
Go - zola - A fast static site generator in a single binary with built-in Sass and syntax highlighting.
Rust
Docker TUIs and container management.
- ctop - Top-like interface for container metrics.
Go - dive - Tool for exploring each layer in a Docker image.
Go - lazydocker - The lazier way to manage everything Docker.
Go - nerdctl - Docker-compatible CLI for containerd with Compose and rootless support.
Go - oxker - A simple TUI to view and control Docker containers.
Rust
kubectl alternatives and K8s TUIs.
- k9s - TUI for managing Kubernetes clusters.
Go - kdash - A simple and fast dashboard for Kubernetes.
Rust - lfk - Yazi-inspired, vim-like keyboard focused Lightning Fast Kubernetes navigator.
Go
Replacements for
psql,mysql, and database GUIs.
- harlequin - The SQL IDE for your terminal.
Python - iredis - Redis client with autocompletion and syntax highlighting.
Python - lazysql - A cross-platform TUI database management tool.
Go - mycli - MySQL client with autocompletion and syntax highlighting.
Python - pgcli - Postgres client with autocompletion and syntax highlighting.
Python - rainfrog - Database management TUI for Postgres, MySQL, and SQLite.
Rust - usql - Universal command-line SQL client with autocompletion.
Go
Password managers, encryption, and security utilities.
- cotp - Encrypted command-line TOTP/HOTP authenticator.
Rust - feroxbuster - A fast, simple, recursive content discovery tool.
Rust - flawz - A terminal UI for browsing security vulnerabilities (CVEs).
Rust - gopass - Fully-featured password manager compatible with pass.
Go - gpg-tui - A terminal user interface for GnuPG.
Rust - rage - A simple, modern, and secure file encryption tool (age implementation).
Rust
Replacements for
bcandcalc.
- fend - Arbitrary-precision unit-aware calculator.
Rust - kalker - Scientific calculator with math-like syntax, complex numbers, and vectors.
Rust
Man page alternatives and documentation tools.
- cheat - Create and view interactive cheatsheets on the command-line.
Go - mdBook - Create books from Markdown, like GitBook but in Rust.
Rust - navi - An interactive cheatsheet tool for the command-line.
Rust - tealdeer - A very fast tldr client with offline caching.
Rust - tectonic - A self-contained TeX/LaTeX engine that downloads packages on demand.
C - thefuck - Corrects your previous console command when you mistype.
Python - tldr - Simplified man pages with practical examples.
Multi - Typst - A modern markup-based typesetting system, a LaTeX alternative.
Rust
Terminal-based presentation tools.
- presenterm - A terminal slideshow tool that renders Markdown presentations.
Rust - slides - Terminal-based presentation tool using Markdown.
Go
Music players, image viewers, and media tools.
- asciinema - Record and share terminal sessions as lightweight text.
Rust - freeze - Generate images of code and terminal output.
Go - kew - A terminal music player that plays anything from your library with a single command.
C - ncspot - Cross-platform ncurses Spotify client.
Rust - oxipng - Multithreaded lossless PNG optimizer.
Rust - pastel - Generate, analyze, convert, and manipulate colors.
Rust - spotify-player - A Spotify player in the terminal with full feature parity.
Rust - termusic - A terminal music player.
Rust - vhs - Write terminal GIFs as code for documentation and demos.
Go - yt-dlp - Download videos from YouTube and other sites, a youtube-dl fork.
Python
Terminal-based chat and email clients.
- aerc - A pretty good email client for the terminal.
Go - gomuks - A Matrix client for the terminal.
Go - himalaya - CLI email client supporting IMAP, JMAP, and Maildir with scriptable interface.
Rust - iamb - A Matrix client for Vim addicts.
Rust - newsboat - An RSS/Atom feed reader for the text console.
C++
Task managers, clipboard, calendars, and shell utilities.
- calcure - Modern TUI calendar and task manager.
Python - Clipboard - Cut, copy, and paste anything from the terminal.
C++ - clipse - TUI clipboard manager.
Go - envio - Modern environment variable manager with encrypted profiles.
Rust - espanso - A cross-platform text expander.
Rust - gum - A tool for glamorous shell scripts with prompts, spinners, and input widgets.
Go - mods - AI on the command line, pipe stdin to LLMs and get structured output.
Go - nb - A note-taking, bookmarking, and knowledge base application.
Shell - topgrade - Upgrade all your tools at once.
Rust
Replacements for
clocandwc -l.
- scc - A very fast accurate code counter with complexity calculations.
Go - tokei - Count lines of code quickly and accurately across many languages.
Rust
Code quality tools for the terminal.
- biome - A fast formatter and linter for web projects, replaces ESLint + Prettier.
Rust - ruff - An extremely fast Python linter and formatter.
Rust - typos - Source code spell checker that finds and corrects common misspellings.
Rust - uv - An extremely fast Python package and project manager.
Rust
Replacements for
ngrokand port forwarding tools.
- bore - A simple CLI tool for exposing local ports to the internet.
Rust - rathole - A lightweight, high-performance reverse proxy for NAT traversal.
Rust
Browsers, proxies, and web utilities.
- browsh - A fully interactive, modern text-based browser.
Go - carbonyl - Chromium running inside your terminal.
Rust - mitmproxy - A free, interactive HTTPS proxy for debugging and testing.
Python - monolith - Save complete web pages as a single HTML file with all assets embedded.
Rust
Tools that defy easy categorization but are too good to leave out.
- GQL - A SQL-like query language for .git repositories.
Rust - httm - Interactive file-level Time Machine-like tool for ZFS/btrfs.
Rust - prqlc - PRQL compiler, a pipelined modern alternative to SQL.
Rust - rustic - Fast, encrypted, deduplicated backups, a restic alternative.
Rust - uutils coreutils - Cross-platform Rust rewrite of the GNU coreutils (adopted by Ubuntu).
Rust - vaultwarden - Lightweight Bitwarden server implementation.
Rust - wttr.in - The right way to check the weather from the terminal.
Python
- awesome-cli-apps - A curated list of command line apps.
- awesome-shell - A curated list of awesome command-line frameworks, toolkits, guides, and gizmos.
- awesome-tuis - List of projects that provide terminal user interfaces.
- Charm - Tools to make the command line glamorous (bubbletea, lipgloss, glow, etc.).
- The Art of Command Line - Master the command line in one page.
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, the author has waived all copyright and related or neighboring rights to this work.












