Awesome Lists

command-line-tools

by learn-anything

awesome listpushed almost 2 years ago

Awesome Command Line Utilities

AI summary

CLI toolkit

A curated list of command line tools and utilities for various tasks and applications.

stars
429
forks
42
watching
11
awesome list
1
entries
362
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/learn-anything/command-line-tools/links.svg)](https://awesome.facts.dev/awesome/learn-anything/command-line-tools)
HTML
<a href="https://awesome.facts.dev/awesome/learn-anything/command-line-tools"><img src="https://awesome.facts.dev/shield/learn-anything/command-line-tools/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/learn-anything/command-line-tools/links.svg

What's in the list

362 links in 22 sections, with live GitHub stats.activeno commit in 2y

CSV

  • xsv

    Fast CSV command line toolkit written in Rust

  • csvdiff

    Fast diff tool for comparing csv files

  • sc-im

    ncurses spreadsheet program for terminal

File system

  • RecoverPy

    Recover overwritten or deleted data

  • modd

    Flexible tool for responding to filesystem changes

  • reflex

    Run a command when files change

Fun

  • primitive

    reproducing images with geometric primitives

Games

  • love

    Framework to make 2D games in Lua

Git

  • fac

    Easy-to-use CUI for fixing git conflicts

  • git

    The stupid content tracker

  • hub

    Wrapper around Git to extend it with features

  • tig

    Text-mode interface for git

Go

  • dep

    Go dependency management tool

  • go

    Manage go source code

  • playgo

    Send .go file to the Go Playground

  • richgo

    Enrich outputs with text decorations

Java

  • ant

    Java based make tool

  • java-repl

    Read Eval Print Loop for Java

Lua

  • lua

    Lua interpreter

  • luajit

    Just-in-time compiler for the lua language

macOS

  • asr

    Apple Software Restore; copy volumes (e.g. from disk images)

  • defaults

    Access user's defaults

  • do-not-disturb

    Control the macOS feature

  • kexstat

    Display status of loaded kernel extensions

  • m-cli

    Swiss Army Knife for macOS

  • PlistBuddy

    Read and write values to plists

  • softwareupdate

    System software update tool

  • iStats

    Mac stats

  • mas

    Command line interface for the Mac App Store

  • switchaudio-osx

    Change the audio source for Mac OS X from the command line

  • displayplacer

    macOS command line utility to configure multi-display resolutions and arrangements. Essentially XRandR for macOS

Networking

  • neoss

    Socket statistics visualization and explanation tool for Unix systems

  • Catflap

    Creates a listening TCP socket and passes its FD to a child process

  • curlie

    Power of curl, the ease of use of httpie

  • sshfs

    Network filesystem client to connect to SSH servers

  • sshuttle

    Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling

  • telnet

    User interface to the TELNET protocol

  • bandwhich

    CLI utility for displaying current network utilization by process, connection and remote IP/hostname

  • httpie

    Modern, user-friendly command-line HTTP client for the API era

  • http-prompt

    Interactive command-line HTTP and API testing tool built on top of HTTPie with autocomplete, syntax highlighting, and more

Nix

  • nix-env

    Manipulate or query Nix user environments

  • nix-shell

    Start an interactive shell based on a Nix expression

  • nox

    Tools to make nix nicer to use

Package managers

  • brew

    Package manager for macOS

  • npm

    Package manager for javascript

  • yarn

    Package manager for javascript

Productivity

  • eureka

    CLI tool to input and store your ideas without leaving the terminal

  • cb

    Powerful clipboard manager for all platforms

Python

  • livepython

    Visually trace python code in real-time

  • rq

    Simple job queues for Python

  • tg

    Telegram terminal client

  • visa-cli

    Visa Requirements terminal interface

Ruby

  • rbenv

    Groom your app’s Ruby environment

  • ruby-build

    Compile and install Ruby

Rust

  • project init

    Project templates in rust

  • rustup

    Rust toolchain installer

Static website engines

  • hugo

    Static site generator written in go

  • jekyll

    Static site generator written in ruby

Text editors

  • kakoune

    Modal editor with multi selections

  • helix

    A Kakoune / Neovim inspired editor, written in Rust

  • micro

    Modern and intuitive terminal-based text editor

  • emacs

    Extendable/customizable text editor

  • neovim

    Vim-fork focused on extensibility and usability

  • vim

    Modal text editor

Web

  • create-react-app

    Create React apps with no build configuration

  • preact

    Create preact app

  • up

    Deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS

  • urlsup

    CLI to validate URLs in files

Logging

  • lnav

    Advanced log file viewer for the small-scale; Watch and analyze your log files from a terminal

  • red

    Terminal log analysis tools

  • goaccess

    Real-time web log analyzer and interactive viewer that runs in a terminal in nix systems or through your browser

  • angle-grinder

    Slice and dice logs on the command line

  • drep

    Grep with dynamic reloadable filter expressions. This allows filtering stream of logs/lines, while changing filters on the fly

Other

  • zenith

    Sort of like top or htop but with zoom-able charts, network, and disk usage

  • grcov

    Collects and aggregates code coverage information for multiple source files

  • wtf

    Personal information dashboard for your terminal

  • navi

    Interactive cheatsheet tool for the command-line

  • zoxide

    cd command that learns your habits

  • pastefile

    Create a file that contains the contents from the clipboard

  • ran

    Simple static web server written in Go

  • watchexec

    Executes commands in response to file modifications

  • procs

    Modern replacement for ps written in Rust

  • termdash

    Terminal based dashboard

  • yq

    Portable command-line YAML processor

  • squeeze

    Enables to extract rich information from any text (raw, JSON, HTML, YAML, etc)

  • amber

    Code search / replace tool

  • Pueue

    Daemon for managing long running shell commands

  • mmv

    Rename multiple files using your $EDITOR

  • jq

    Command-line JSON processor. ( )

  • jq in Go

    Pure Go implementation of jq

  • faq

    Format Agnostic jQ

  • gomi

    Trash can in CLI

  • jql

    Easy JSON Query Processor with a Lispy syntax in Go

  • linkchecker

    Check links in web documents or full websites

  • brok

    Find broken links in text documents. ( )

  • broot

    New way to see and navigate directory trees

  • chars

    Display names and codes for various ASCII (and unicode) characters / code points

  • diskus

    Minimal, fast alternative to du -sh

  • glow

    Render markdown on the CLI, with pizzazz

  • dtool

    Collection of development tools

  • uni

    Query the Unicode database from the commandline, with good support for emojis

  • viu

    Command-line application to view images from the terminal written in Rust

  • tealdeer

    Very fast implementation of tldr in Rust

  • xcp

    Extended cp

  • pazi

    Fast autojump helper

  • cbf

    Build custom CLI apps with only a json or yaml file

  • rga

    Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc

  • hunter

    Ranger-like file browser written in rust

  • ytop

    TUI system monitor written in Rust

  • noti

    Monitor a process and trigger a notification

  • ffsend

    Easily and securely share files from the command line. A fully featured Firefox Send client

  • adns

    Advanced, easy to use, asynchronous-capable DNS client library and utilities

  • advancecomp

    Collection of recompression utilities for your .ZIP archives, .PNG snapshots, .MNG video clips and .GZ files

  • ag

    Recursively search for pattern

  • Antibody

    Fastest shell plugin manager

  • aria2A

    Lightweight multi-protocol & multi-source, cross platform download utility

  • asciinema

    Terminal session recorder

  • asdf

    Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

  • aspcud

    Solver for package dependencies

  • automake

    Automatically create Makefile.in's from Makefile.am's

  • basename

    Strip directory and suffix from filenames

  • bash

    GNU Bourne-Again SHell

  • camlp4

    Software system for writing extensible parsers for programming languages

  • ccat

    Colorizing

  • chroma

    General purpose syntax highlighter in pure Go

  • chrome-cli

    Control Google Chrome from the command line

  • cmake

    Cross-platform makefile generator

  • cowyo

    Feature rich wiki webserver for minimalists

  • croc

    Easily get things from one computer to another

  • ctop

    Container metric viewer

  • curl

    Transfer a URL

  • direnv

    Unclutter your .profile

  • dirname

    Strip last component from file name

  • docker

    Self-sufficient runtime for containers

  • entr

    Run arbitrary commands when files change. ( ) ( )

  • eisd

    Execute your favorite command in SubDirectories

  • fasd

    Quick access to files and directories

  • fd

    Simple, fast and user-friendly alternative to 'find'

  • ffmpeg

    Video converter

  • fkill

    Kill processes

  • friendly-find

    Usable replacement for find

  • fzf

    Command-line fuzzy finder

  • fzy

    Better fuzzy finder

  • gdbm

    Library of database functions that use extensible hashing and work similar to the standard UNIX dbm

  • gifski

    GIF encoder. Squeezes maximum possible quality from the awful GIF format

  • gotty

    Share your terminal as a web application

  • GraphicsMagick

    Swiss army knife of image processing

  • hask-replace

    Command-line tool to rename modules in Haskell projects

  • hexyl

    Command-line hex viewer

  • htttpie

    HTTP client

  • hyperfine

    Command-line benchmarking tool

  • temci

    Advanced benchmarking tool written in Python 3 that supports setting up an environment for benchmarking and the generation of visually appealing reports

  • imgur-screenshot

    Take screenshot selection, upload to Imgur. + more cool things

  • jq

    Lightweight and flexible command-line JSON processor

  • jump

    Helps you navigate faster by learning your habits

  • just

    Handy way to save and run project-specific commands

  • kubectl

    Kubernetes cluster manager

  • less

    Free, open-source file pager

  • license-up

    Create a license quickly for a given name

  • LicGD

    Open source code library for the dynamic creation of images by programmers

  • loc

    Count lines of code quickly

  • mackup

    Keep your application settings in sync (OS X/Linux)

  • make

    GNU make utility to maintain groups of programs

  • massren

    Easily rename multiple files using your text editor

  • mediumexporter

    Export medium.com articles to markdown

  • moreutils

    Growing collection of the unix tools that nobody thought to write long ago when unix was young

  • mycli

    Terminal Client for MySQL with AutoCompletion and Syntax Highlighting

  • ncdu

    Disk usage analyzer with an ncurses interface

  • neofetch

    Displays information about your operating system, software and hardware in an aesthetic and visually pleasing way

  • ninja

    Small build system with a focus on speed

  • nm

    Display name list (symbol table)

  • nmap

    Network mapper

  • pgcli

    Postgres CLI with autocompletion and syntax highlighting

  • pkg

    Package your node.js project into an executable

  • pngquant

    Command-line utility and a library for lossy compression of PNG images

  • pspg

    Postgres Pager

  • pv

    Pipe Viewer

  • rclone

    Rsync for cloud storage

  • rename

    Renames files according to modification rules specified on the command line

  • scipy

    Open-source software for mathematics, science, and engineering

  • scons

    Software construction tool

  • skim

    Fuzzy Finder in rust

  • snallygaster

    Tool to scan for secret files on HTTP servers

  • spark

    Sparklines for your shell

  • spotify-ripper

    Rip Spotify URIs to MP3 files

  • static-docs

    General-purpose library, purpose-built commands for various domains

  • stow

    Symlink farm manager program

  • svgcleaner

    Clean up your SVG files from the unnecessary data

  • tar

    Manipulate tape archives

  • tin-summer

    Find build artifacts that are taking up disk space

  • tokei

    Display statistics about your code. ( )

  • visidata

    Terminal spreadsheet multitool for discovering and arranging data

  • vsce

    Publish VS Code extensions

  • warp

    Secure and simple terminal sharing

  • weather

    Weather via the command line

  • wego

    Weather app for the terminal

  • wifi-password

    Get wifi pass

  • you-get

    Dumb downloader that scrapes the web

  • dust

    More intuitive version of du in rust

  • mdcat

    for Markdown

  • exa

    Replacement for ls written in Rust

  • sd

    Intuitive find & replace CLI

  • ack

    Grep-like text finder

  • alias

    Define or display aliases

  • apropos

    Search the manual page names and descriptions

  • awk

    Pattern-directed scanning and processing language

  • bc

    Arbitrary precision calculator language

  • cat

    Concatenate and print files

  • cd

    Change Directory

  • chmod

    Change file mode bits

  • cp

    Copy files and directories

  • cron

    Daemon to execute scheduled commands

  • cut

    Cut out selected portions of each line of a file

  • diff

    Compare files line by line

  • echo

    Write arguments to the standard output

  • env

    Set environment and execute command, or print environment

  • file

    Determine file type

  • find

    Walk a file hierarchy

  • gnuplot

    Generate two and three dimensional plots of data

  • grep

    File pattern searcher

  • head

    Output the first part of files

  • jobs

    Display status of jobs in the current session

  • join

    Join lines of two files on a common field

  • kill

    Send a signal to a process

  • killall

    Kill processes by name

  • ln

    Create symbolic links

  • ls

    List directory contents

  • lsof

    List open files

  • man

    Open manual pages

  • mv

    Move (rename) files

  • nice

    Execute a utility with an altered scheduling priority

  • nohup

    Run a command immune to hangups, with output to a non-tty

  • paste

    Merge lines of files

  • rm

    Remove directory entries

  • rmdir

    Remove empty directories

  • scp

    Secure copy (remote file copy program)

  • screen

    Screen manager

  • sed

    Stream editor

  • set

    Set or unset options and positional parameters

  • sort

    Put the lines of a text file in alphanumeric order

  • split

    Split a file into pieces

  • ssh

    Remote login

  • strings

    Print the strings of printable characters in files

  • tail

    Output the last part of files

  • top

    Display and update sorted information about processes

  • touch

    Change file timestamps

  • tr

    Translate or delete characters

  • tree

    List contents of directories in a tree-like format

  • type

    Describe a command

  • uniq

    Report or omit repeated lines

  • uptime

    Tell how long the system has been running

  • wc

    Print newline, word, and byte counts for each file

  • whoami

    Print effective userid

  • whois

    Client for the whois directory service

  • habitctl

    Minimalist command line tool you can use to track and examine your habits

  • jwt-cli

    Super fast CLI tool to decode and encode JWTs built in Rust

  • rtss

    Relative TimeStamps for Stuff

  • jc

    Serializes the output of popular gnu linux command line tools and file types to structured JSON output. This allows piping of output to tools like jq

  • psrecord

    Record the CPU and memory activity of a process

  • bottom

    Cross-platform graphical process/system monitor with a customizable interface and a multitude of features

  • undent

    Unindent text/code

  • misspell

    Correct commonly misspelled English words in source files

  • rargs

    Kind of xargs + awk with pattern-matching support

  • dupe-krill

    Fast file deduplicator

  • fcat

    Cat implementation in Rust. Only works on Linux

  • lorem

    Python lorem ipsum generator

  • miller

    Like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

  • kickstart

    Scaffolding tool to get new projects up and running quickly

  • scc

    Very fast accurate code counter with complexity calculations and COCOMO estimates

  • gf

    Wrapper around grep, to help you grep for things

  • godu

    Simple golang utility helping to discover large files/folders

  • now

    Develop. Preview. Ship

  • nomino

    Batch rename utility for developers

  • hex

    Futuristic take on hexdump, made in Rust

  • url-parser

    Command-line URL parser, written in Go

  • luneta

    Interactive filter that can be easily composed within any script

  • spin

    Simple scaffolding tool

  • as-tree

    Print a list of paths as a tree of paths

  • wifi-password

    Quickly share Wi-Fi connection info

  • delta

    Syntax-highlighter for git and diff output

  • fzz

    Allows you to change the input of a single command interactively

  • github-stats

    Command-line tool to get the total traffic statistics of your GitHub repositories

  • map

    Map lines from stdin to commands

  • JQL

    JSON Query Language CLI tool built with Rust

  • jiq

    jid on jq - interactive JSON query tool using jq expressions

  • ijq

    Interactive jq tool. Like jqplay for the command line

  • rex

    Command line playground for regular expressions

  • PWatch

    Process Watcher

  • Rdfind

    Command line tool that finds duplicate files

  • bfs

    Breadth-first search for your files

  • Choose

    Human-friendly and fast alternative to awk and cut. ( )

  • yj

    Convert YAML <=> TOML <=> JSON <=> HCL

  • buku

    Browser-independent bookmark manager

  • twf

    Standalone tree view file explorer, inspired by fzf

  • hostblock

    Simple terminal interface for blocking websites via the /etc/hosts file

  • ugrep

    Ultra fast grep with interactive query UI

  • sad

    CLI search and replace. Show you a nice diff of proposed changes before you commit them

  • wfh

    Continuously watches your local directories and rsync them against a remote host

  • teip

    Select partial standard input and replace with the result of another command

  • Got

    Simple and fast concurrent downloader

  • duf

    Disk Usage/Free Utility

  • espanso

    Cross-platform Text Expander written in Rust

  • huniq

    Command line utility to remove duplicates from the given input. Note that huniq does not sort the input, it just removes duplicates

  • RustScan

    Modern Port Scanner

  • nat

    Complete replacement for the 'ls' command

  • csvq

    SQL-like query language for csv

  • gping

    Ping, but with a graph

  • FClones

    Efficient Duplicate File Finder

  • googler

    Google from the terminal

  • Proji

    Powerful cross-platform CLI project templating tool

  • dasel

    Allows you to query and modify data structures using selector strings

  • McFly

    Fly through your shell history

  • pbgopy

    Copy and paste between devices

  • prism

    RTMP stream recaster / splitter

  • menyoki

    Screen{shot,cast} and perform ImageOps on the command line. ( )

  • projen

    Define and maintain complex project configuration through code

  • lsd

    Next gen ls command

  • ls-lint

    Extremely fast directory and filename linter - Bring some structure to your project directories. ( )

  • lychee

    Fast, async, resource-friendly link checker written in Rust

  • vgrep

    User-friendly pager for grep

  • urlhunter

    Recon tool that allows searching on URLs that are exposed via shortener services

  • rip

    Safe and ergonomic alternative to rm

  • Orderly

    Tool that provides ordered and controlled start, stop, restart and cleanup of a group of processes

  • Ruplacer

    Find and replace text in source files

  • Graphtage

    Semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV

  • sq

    Command line tool that provides jq-style access to structured data sources such as SQL databases, or document formats like CSV or Excel. ( )

  • yank

    Yank terminal output to clipboard. ( )

  • xplr

    Hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf

  • Freshfetch

    Fresh take on Neofetch

  • rush

    Cross-platform command-line tool for executing jobs in parallel

  • so

    Terminal interface for Stack Overflow

  • gdu

    Disk usage analyzer with console interface written in Go

  • kalk

    Command line calculator that supports math-like syntax with user-defined variables, functions, derivation, integration, and complex numbers. ( ) ( )

  • fcp

    Significantly faster alternative to the classic Unix cp command

  • Renamer

    Command line utility to batch-rename files via your editor

  • Difftastic

    Syntax-aware structured diff tool. ( )

  • hck

    Drop in replacement for cut that can use a regex delimiter instead of a fixed string

  • calendarheatmap

    Calendar heatmap inspired by GitHub contribution activity

  • rnr

    Command-line tool to batch rename files and directories

  • Gaze

    Runs a command, right after you save a file

  • Czkawka

    Multi functional app to find duplicates, empty folders, similar images etc

  • Rustcat

    Netcat Alternative in Rust

  • s

    Web search from the terminal. Just opens in your browser

  • Sweep

    Reduce the disk usage of your projects by removing dependencies & builds

  • Viddy

    Modern watch command. Time machine and pager etc

  • tree-grepper

    Like grep, but uses tree-sitter grammars to search

  • qq

    Select stdin with query

  • todocheck

    Static code analyzer for annotated TODO comments

  • TV

    Cross-platform CSV pretty printer made to maximize viewer enjoyment. ( )

  • anew

    Tool for adding new lines to files, skipping duplicates

  • hors

    Instant coding answers via the command line

  • dua

    View disk space usage and delete unwanted data, fast

  • conan

    Find clue about the type of the file

  • alt

    Find alternate files

  • fzwiki

    Command with fzf-like UI to quickly search Wikipedia articles and open it in your browser

  • Untree

    Converts tree diagrams produced by tree back into directory file structures

  • IDNT

    Batch software uninstall

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.