>_

cli.club

Command-line Interface Tools and Alternatives

A collection of the best CLI/Ncurses software covering a wide range of categories from messaging, music, text editing and more.



Communication

Media

Development

Productivity

Utilites

Files

Version Control

Images

Other

IRC

Irssi: Your text mode chatting application since 1999

IRC built-in. Multi-protocol friendly for module authors.

Shipped-by-default Perl scripting with a wide range of available extensions.

Integrates into the UNIX stack: Your window manager, your terminal emulator, your remote connection, your terminal multiplexer, your IRC bouncer, your IRC adapter.

Irssi is free software licensed under the GPLv2, available for Linux, BSD, Solaris, Haiku, Apple, Cygwin, …

WeeChat: The extensible chat client

Full-featured IRC plugin: multi-servers, proxy support, IPv6, SASL authentication, nicklist, DCC, and many other features.

tiny: Yet another terminal IRC client

tiny is an IRC client written in Rust.

kirc: Tiny IRC client

Tiny IRC client

XMPP

Profanity: A console based XMPP client

Profanity is a console based XMPP client written in C using ncurses and libstrophe, inspired by Irssi.

Poezio: A free console XMPP client

Its goal is to let you connect very easily (no account creation needed) to the network and join various chatrooms, immediately. It tries to look like the most famous IRC clients (weechat, irssi, etc). Many commands are identical and you won't be lost if you already know these clients. Configuration can be made in a configuration file or directly from the client.

Matrix

iamb: A Matrix client for Vim addicts

iamb is a Matrix client written in Rust with Vim-style keys. It supports threads, spaces, e2ee, and more.

gomuks: A terminal Matrix client

A terminal Matrix client written in Go using mautrix and mauview.

matrix-commander: Simple CLI-based Matrix client

Simple but convenient CLI-based Matrix client app for sending, receiving, creating rooms, inviting, verifying, and so much more.

Email

NeoMutt: Teaching an Old Dog New Tricks

NeoMutt is a command line mail reader (or MUA). It’s a fork of Mutt with added features.

Alpine: A free software email client

Alpine is a rewrite of the Pine Message System that adds support for Unicode and other features. Alpine is meant to be suitable for both inexperienced email users and the most demanding of power users.

Sup: A console-based email client for people with a lot of email

It presents an interface of a list of threads, which are each hierarchical collections email messages. Threads can have multiple tags applied to them. It supports a very fast full-text search, automatic contact-list management, custom code insertion via a Ruby hook system, and more. If you’re the type of person who treats email as an extension of your long-term memory, Sup is for you.

aerc: a pretty good email client

aerc is an email client that runs in your terminal. It's highly efficient and extensible, perfect for the discerning hacker.

Himalaya: CLI to manage emails

Himalaya is a command-line email client written in Rust. It supports multiple accounts, IMAP, Maildir, Notmuch and SMTP, with plain-text and JSON output for scripting.

Telegram

nchat: Terminal-based chat client for Telegram and WhatsApp

nchat is a terminal-based chat client for Linux and macOS with support for Telegram and WhatsApp. It features a familiar layout, emoji, file transfers, message search and customisable keybindings.

Signal

signal-cli: An unofficial commandline and dbus

signal-cli is a commandline interface for libsignal-service-java. It supports registering, verifying, sending and receiving messages. To be able to link to an existing Signal-Android/signal-cli instance, signal-cli uses a patched libsignal-service-java, because libsignal-service-java does not yet support provisioning as a linked device.

Tox

Toxic: A Tox-based instant messaging and video chat client

Toxic is a client with an ncurses interface, written entirely in C. It has support for all basic features, as well as 1-on-1 audio/video chats, and is capable of working on bare-bones systems that lack graphical interfaces. Development is lead by Jfreegman.

Music

ncmpcpp: NCurses Music Player Client (Plus Plus)

Ncmpcpp is an mpd client (compatible with mopidy) with a UI very similar to ncmpc, but it provides new useful features such as support for regular expressions for library searches, extended song format, items filtering, the ability to sort playlists, and a local filesystem browser.

mpc: A minimalist command line interface to MPD

Command line user interface for MPD server written in C.

spotify-player: A Spotify player in the terminal

A Spotify player in the terminal with full feature parity written in Rust. Considered a replacement for spotify-tui as it is no longer maintained.

Spotify TUI: Terminal Spotify client

** No Longer Maintained **

A Spotify client for the terminal written in Rust.

ncspot: Cross-platform ncurses Spotify client

ncspot is a ncurses Spotify client written in Rust using librespot. It is heavily inspired by ncurses MPD clients, such as ncmpc.

cmus: Small, fast and powerful console music player

Small, fast and powerful console music player

pianobar: Pandora client

Pandora client

mpd: Music Player Daemon

Music Player Daemon

musikcube: Cross-platform, terminal-based music player, audio engine, metadata indexer, and server

Cross-platform, terminal-based music player, audio engine, metadata indexer, and server

beets: Music library manager and tagger

Music library manager and tagger

radio-active: Internet radio player with 40k+ stations

Internet radio player with 40k+ stations

Images

FFmpeg: A complete, cross-platform solution to record, convert and stream audio and video.

FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation.

Feh: A fast and light image viewer

Feh is a light-weight, configurable and versatile image viewer. It is aimed at command line users, but can also be started from graphical file managers. Apart from viewing images, it can compile text and thumbnail listings, show (un)loadable files, set X11 backgrounds, and more.

Chafa: Terminal graphics for the 21st century

Chafa displays images, including animated GIFs, directly in the terminal. It supports the Sixel, Kitty and iTerm2 graphics protocols and falls back to high quality Unicode/ANSI character art.

nsxiv: Neo Simple X Image Viewer

nsxiv is a lightweight and scriptable image viewer for X11, and the maintained successor to sxiv. It supports thumbnail mode, GIF animation, key handlers and a small, hackable C codebase.

Video

mpv: A free, open source, and cross-platform media player

mpv is a free (as in freedom) media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.

yt-dlp: A youtube-dl fork with additional features and fixes

Download videos from youtube.com or other video platforms.

yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc. The main focus of this project is adding new features and patches while also keeping up to date with the original project.

Streamlink: Pipe videostreams into a video player

Streamlink is a CLI utility which pipes video streams from various services into a video player, such as VLC.

The main purpose of streamlink is to avoid resource-heavy and unoptimized websites, while still allowing the user to enjoy various streamed content.

yewtube: Terminal based YouTube player and downloader

yewtube (formerly mps-youtube) is a terminal based YouTube player and downloader. No YouTube API key or account required.

editly: Declarative video editing

Declarative video editing

Games

Dwarf Fortress: Roguelike construction and management simulation

Roguelike construction and management simulation

Cataclysm-DDA: Turn-based survival game set in a post-apocalyptic world

Turn-based survival game set in a post-apocalyptic world

Pokete: Pokemon-like

Pokemon-like

Books

medium-cli: Read medium.com stories

Read medium.com stories

Browsers

Surf: A simple WebKit browser

Surf is a simple web browser based on WebKit2/GTK+. It is able to display websites and follow links. It supports the XEmbed protocol which makes it possible to embed it in another application. Furthermore, one can point surf to another URI by setting its XProperties.

Lynx: The text web browser

Lynx is a customizable text-based web browser for use on cursor-addressable character cell terminals. As of 2021, it is the oldest web browser still being maintained, having started in 1992.

Browsh: A modern text-based browser

Browsh is a fully-modern text-based browser. It renders anything that a modern browser can: HTML5, CSS3, JS, video and even WebGL. It can be run on a remote server and accessed via SSH/Mosh to significantly reduce bandwidth usage.

Chawan: Text-mode web browser and pager for Unix-like systems

Chawan is a text-mode web browser and pager for Unix-like systems. It supports CSS, inline images, optional JavaScript, and protocols such as HTTP(S), FTP, Gopher and Gemini.

News Readers

Newsboat: An RSS/Atom feed reader

Newsboat is an RSS/Atom feed reader for the text console. It’s an actively maintained fork of Newsbeuter.

Sfeed: Simple RSS and Atom parser

Sfeed is a RSS and Atom parser (and some format programs).

It converts RSS or Atom feeds from XML to a TAB-separated file. There are formatting programs included to convert this TAB-separated format to various other formats. There are also some programs and scripts included to import and export OPML and to fetch, filter, merge and order feed items.

CalDav

Todoman: A simple CLI task manager

Todoman is a simple, standards-based, cli todo (aka: task) manager. Todos are stored into icalendar files, which means you can sync them via CalDAV using, for example, vdirsyncer.

CardDav

Khard: An address book for the Unix console

Khard is an address book for the Unix console. It creates, reads, modifies and removes vCard address book entries at your local machine. Khard is also compatible to the email clients mutt and alot and the SIP client twinkle.

Screensavers

cmatrix

Scrolling 'Matrix'-like screen.

Graphics

pastel

Generate, analyze, convert and manipulate colors.

Text Editors

Vim: The ubiquitous text editor

Vim is a greatly improved version of the good old UNIX editor Vi. Many new features have been added: multi-level undo, syntax highlighting, command line history, on-line help, spell checking, filename completion, block operations, script language, etc. There is also a Graphical User Interface (GUI) available. Still, Vi compatibility is maintained, those who have Vi "in the fingers" will feel at home.

Emacs: An extensible, customizable, free/libre text editor

At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.

Nano: A simple editor, inspired by Pico

GNU nano is a text editor for Unix-like computing systems or operating environments using a command line interface. It emulates the Pico text editor, part of the Pine email client, and also provides additional functionality. Unlike Pico, nano is licensed under the GNU General Public License.

kakoune: Modal editor inspired by vim

Modal editor inspired by vim

micro: A simple and intuitive editor

A simple and intuitive editor

o: Configuration-free text editor and IDE

Configuration-free text editor and IDE

helix: Modal editor inspired by kakoune

Modal editor inspired by kakoune

Neovim: Vim-fork focused on extensibility and usability

Neovim is a refactor of Vim that adds a built-in LSP client, Tree-sitter syntax highlighting, an embedded Lua runtime for configuration and plugins, and an API for building UIs and integrations.

Servers

serve

Serve static files (https, CORS, GZIP compression, etc).

shell2http

Execute shell commands via a simple HTTP server.

darkhttpd: When you need a web server in a hurry


Darkhttpd is a simple, fast HTTP 1.1 web server for static content. It does not support PHP or CGI etc but is designed to serve static content, which it does very well.

Prosody: A modern XMPP server

Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.

Prosody is open-source software under the permissive MIT/X11 license.

ejabberd: An XMPP application server

ejabberd is an XMPP application server and an MQTT broker, written mainly in the Erlang programming language. It can run under several Unix-like operating systems such as macOS, Linux, FreeBSD, NetBSD, OpenBSD and OpenSolaris. Additionally, ejabberd can run under Microsoft Windows.

Shells

Dash: Debian Almquist Shell

Dash (Debian Almquist shell) is a modern POSIX-compliant implementation of /bin/sh (sh, Bourne shell).

Dash is not Bash compatible, but Bash tries to be mostly compatible with POSIX, and thus Dash.

Zsh: Designed for interactive use

The Z shell is a Unix shell that can be used as an interactive login shell and as a command interpreter for shell scripting. Zsh is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh.

ShellCheck: A static analysis tool for shell scripts

ShellCheck is a GPLv3 tool that gives warnings and suggestions for bash/sh shell scripts. It points out typical beginner syntax issues, semantic problems and subtle caveats that can cause scripts to fail.

Tools

just: Modern make-like command runner

Modern make-like command runner

bcal: Byte CALculator for storage conversions and calculations

Byte CALculator for storage conversions and calculations

bitwise: Base conversion and bit manipulation

Base conversion and bit manipulation

grex: Generate regular expressions from user-provided test cases

Generate regular expressions from user-provided test cases

gdb-dashboard: Modular visual interface for GDB

Modular visual interface for GDB

loadtest: Run load tests

Run load tests

diff2html-cli: Create pretty HTML from diffs

Create pretty HTML from diffs

pls: a prettier and powerful ls(1) for the pros

pls is a prettier and powerful ls(1) for the pros. The "p" stands for

    pretty: pls output is cleaner, friendlier and more colorful.
    powerful: pls provides more features than the competition.
    performant: pls is speedy and performant (written in Rust).
    practical: pls has sensible defaults and an effortless interface.
    petite: pls is a small, single-file, binary executable.
    pliable: pls can be extensively tweaked by power users and pros.
    personable: pls prioritises consumption by humans over scripts.

Documentation: https://pls.cli.rs/
Credit: https://github.com/dhruvkb

ntfy.sh: Send push notifications to your phone or desktop using PUT/POST

ntfy (pronounced "notify") is a simple HTTP-based pub-sub notification service. With ntfy, you can send notifications to your phone or desktop via scripts from any computer, without having to sign up or pay any fees. If you'd like to run your own instance of the service, you can easily do so since ntfy is open source.

ntfy.sh

QEMU: A generic and open source machine emulator and virtualizer

QEMU is capable of emulating a complete machine in software without any need for hardware virtualization support. By using dynamic translation, it achieves very good performance. QEMU can also integrate with the Xen and KVM hypervisors to provide emulated hardware while allowing the hypervisor to manage the CPU. With hypervisor support, QEMU can achieve near native performance for CPUs. When QEMU emulates CPUs directly it is capable of running operating systems made for one machine (e.g. an ARMv7 board) on a different machine (e.g. an x86_64 PC board).

xclip: Command line interface to the X11 clipboard

xclip is a command line utility that is designed to run on any system with an
X11 implementation. It provides an interface to X selections ("the clipboard")
from the command line. It can read data from standard in or a file and place it
in an X selection for pasting into other X applications. xclip can also print
an X selection to standard out, which can then be redirected to a file or
another program.

tmux: A terminal multiplexer

tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

dmenu: A dynamic menu for X

dmenu is a dynamic menu for X, originally designed for dwm. It manages large numbers of user-defined menu items efficiently.

qrcp: Transfer files over Wi-Fi

Transfer files over wifi from your computer to your mobile device by scanning a QR code without leaving the terminal.

Posting: The modern API client that lives in your terminal

Posting is an HTTP client, not unlike Postman and Insomnia. As a TUI application, it can be used over SSH and enables efficient keyboard-centric workflows. Your requests are stored locally in simple YAML files, so they're easy to read and version control.

rofi: A window switcher, application launcher and dmenu replacement

rofi is a window switcher, application launcher, ssh dialog and dmenu replacement. It can be fully driven by the keyboard and extended with custom scripts.

Zellij: A terminal workspace with batteries included

Zellij is a terminal multiplexer and workspace with batteries included. It features a layout system, floating and stacked panes, session management and a WebAssembly plugin system.

Terminal Emulators

st: A simple terminal for X

st is a simple terminal emulator for X which sucks less.

Alacritty: A modern terminal emulator

Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows.

The software is considered to be at a beta level of readiness; there are a few missing features and bugs to be fixed, but it is already used by many as a daily driver.
foot is a fast, lightweight and minimalistic Wayland terminal emulator. It supports a server/client mode, sixel images, true color and font ligatures.

Ghostty: A fast, native, feature-rich terminal emulator

Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.

kitty: A fast, feature-rich, cross-platform, GPU based terminal

kitty is a fast, feature-rich, cross-platform, GPU based terminal emulator. It supports tiling multiple windows, ligatures, true color, an image protocol and is extensible via "kittens".

WezTerm: A GPU-accelerated cross-platform terminal emulator and multiplexer

WezTerm is a GPU-accelerated cross-platform terminal emulator and multiplexer written in Rust, configurable with Lua.

Frontend Development

surge

Publish static websites for free.

Database

mycli

MySQL client with autocompletion and syntax highlighting.

pgcli

Postgres client with autocompletion and syntax highlighting.

iredis

Redis client with autocompletion and syntax highlighting.

usql

Universal SQL client with autocompletion and syntax highlighting.

Devops

s3cmd

Fully-Featured S3 client.

pm2

Production Process Manager for Node.js.

ops

Unikernel compilation and orchestration tool.

flog

A fake log generator for log formats such as apache-common, apache error and RFC3164 syslog.

k9s

Manage Kubernetes Clusters.

PingMe

Send messages/alerts to multiple messaging platforms & email.

ipfs-deploy

Deploy static websites to IPFS.

updatecli

A declarative dependency management tool.

Docker

dockly

Interactively manage containers.

lazydocker

Simple docker/docker-compose interface.

Release

release-it

Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc.

np

A better npm publish.

semantic-release

Fully automated version management and package publishing.

NPM

npm-check-updates

Find newer versions of package dependencies than what your package.json allows.

Boilerplate

yo

Scaffolding tool for running Yeoman generators.

cookiecutter

Create projects from templates.

mevn-cli

Light speed setup for MEVN (Mongo Express Vue Node) Apps.

HTTP Client

HTTPIE

A user-friendly HTTP client.

ain

HTTP client with a simple format to organize API endpoints.

curlie

A curl frontend with the ease of use of HTTPie.

Learning

cmdchallenge

Presents small shell challenge with user submitted solutions.

explainshell

Type a snippet to see the help text for each argument.

howdoi

Instant coding answers.

the fuck

Magnificent app which corrects your previous console command.

tldr

Simplified and community-driven man pages.

navi

Interactive cheatsheet tool.

pay-respects: Command suggestions and a thefuck replacement

pay-respects is a fast, actively maintained alternative to thefuck written in Rust. It corrects your previous console command, suggests fixes for typos and missing packages, and provides command-not-found suggestions.

Data

visidata

Spreadsheet multitool for data discovery and arrangement.

Processors

jq

JSON processor.

yq

YAML processor.

dasel

JSON/YAML/TOML/XML processor (like jq/yq).

xq

XML and HTML beautifier and content extractor.

JSON

fx

Command-line JSON viewer.

gron

Make JSON greppable.

YAML

dyff

YAML diff tool.

Columns

q

Execution of SQL-like queries on CSV/TSV/tabular text file.

Text

figlet

Creates large text out of ASCII characters.

Clients

doing

Keep track of what you’re doing and track what you’ve done.

buku

Browser-independent bookmark manager.

papis

Extensible document and bibliography manager.

JiraTUI: A TUI for interacting with Atlassian Jira from your shell

JiraTUI lets you search, view, create, delete, update and clone Jira work items from your shell. Includes full-text search, adding comments, related tasks, attachments and more.

Time Tracking

timetrap

Simple timetracker.

timewarrior

Utility with simple stopwatch, calendar-based backfill and flexible reporting.

watson

Generate reports for clients and manage your time.

bartib

Easy to use time tracking tool.

arttime

Featureful timer with native desktop notifications and curated ASCII art.

Notes

taskwarrior

Manage your TODO list.

eureka

Input and store your ideas.

taskbook

Tasks, boards & notes for the command-line habitat.

dnote

A interactive, multi-device notebook.

nb

A note‑taking, bookmarking, archiving, and knowledge base application.

notesmd-cli

Interact with your Obsidian (or any markdown) vault from the terminal. Formerly obsidian-cli.

vit: Visual Interactive Taskwarrior

VIT is a lightweight, fast, curses-based full-screen terminal interface for Taskwarrior with vim-like keybindings.

Finance

bagels: Powerful expense tracker that lives in your terminal.

Bagels expense tracker is a TUI application where you can track and analyse your money flow, with convenience oriented features and a complete interface.

ledger

Powerful, double-entry accounting system.

hledger

Robust, fast, intuitive plain text accounting tool with CLI, TUI and web interfaces.

ticker

Stock ticker.

Presentations

decktape

PDF exporter for HTML presentations.

mdp

A markdown presentation tool.

slides

A markdown presentation tool.

presenterm: A markdown terminal slideshow tool

presenterm lets you write presentations in markdown and run them in your terminal, with support for images, themes, code highlighting, executable code blocks and PDF export.

Calendars

calcurse

Calendar and scheduling.

gcalcli

Google calendar client.

khal

CalDAV ready CLI and TUI calendar.

vdirsyncer

CalDAV sync.

remind

A sophisticated calendar and alarm program.

General

aria2

HTTP, FTP, SFTP, BitTorrent and Metalink download utility.

alex

Catch insensitive, inconsiderate writing.

macOS

stronghold

Configure security settings from the terminal.

dark-mode

Toggle dark mode.

Terminal

gotty

Share your terminal as a web application.

localtunnel

Expose your localhost to the world for easy testing and sharing.

mosh

Remote SSH client that allows roaming with intermittent connectivity.

ngrok

Secure introspectable tunnels to localhost.

tmate

Instant terminal (tmux) sharing.

ttyd: Share your terminal over the web

ttyd is a simple command-line tool for sharing a terminal over the web, built on libwebsockets and xterm.js with SSL, basic auth and full-featured terminal emulation.

Network

certificate-ripper

Extract server certificates.

Theming

splash-cli

Beautiful wallpapers from Unsplash.

themer

Generate personalized themes for your editor, terminal, wallpaper, Slack, and more.

oh-my-posh

Prompt theme engine.

Starship: The minimal, blazing-fast, and infinitely customizable prompt for any shell

Starship is a cross-shell prompt written in Rust that works with bash, zsh, fish, PowerShell and more. It shows the information you need while you work and stays out of your way.

Shell

has

Checks for the presence of various commands and their versions on the path.

fkill-cli

Simple cross-platform process killer.

Pueue: Manage your shell commands

Pueue is a command-line task manager for sequential and parallel execution of long-running tasks. Queue commands, run them in the background and inspect or control them later, even across sessions.

System

fastfetch

System information tool.

yank

Yank terminal output to clipboard.

glances

System monitoring tool.

tiptop

System monitor.

GNU Stow: A symlink farm manager and dotfile organizer

GNU Stow is a symlink farm manager which takes packages located in separate directories and makes them appear installed in the same place. Commonly used to organize dotfiles.

wl-clipboard: Command-line copy/paste utilities for Wayland

wl-copy and wl-paste let you easily copy data between the Wayland clipboard and Unix pipes, sockets, files and so on.

zenith: In terminal graphical metrics for your *nix system

zenith is sort of like top or htop but with zoom-able charts, CPU, GPU, network and disk usage.

btop: A monitor of resources

btop shows usage and stats for processor, memory, disks, network and processes, with a fast, mouse-enabled interface and a fully menu-driven configuration.

Markdown

doctoc

Generates table of contents for markdown files.

glow

Styled markdown rendering.

Security

pass

Password manager.

gopass

Fully-featured password manager.

ots

Share secrets with others via a one-time URL.

Math

qalculate

Calculate non-trivial math expressions. Unit conversions, symbolic calculations and more.

Weather

wttr.in


wego


Browser

s

Open a web search in your terminal.

mapscii

Terminal Map Viewer.

translate-shell

Google Translate interface.

Speedtest

bandwhich

Track bandwidth utilization by process.

File Managers

ranger: A console file manager with VI key bindings

It provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with rifle, a file launcher that is good at automatically finding out which program to use for what file type.

nnn: The unorthodox terminal file manager

nnn (n³) is a full-featured terminal file manager. It's tiny, nearly 0-config and incredibly fast.

It is designed to be unobtrusive with smart workflows to match the trains of thought.

nnn can analyze disk usage, batch rename, launch apps and pick files. The plugin repository has tons of plugins to extend the capabilities further e.g. live previews, (un)mount disks, find & list, file/dir diff, upload files. A patch framework hosts sizable user-submitted patches which are subjective in nature.

lf: Terminal file manager

lf (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager.

midnight-commander

A feature rich visual file manager.

vifm

VI influenced file manager.

clifm

The command line file manager.

far2l

Orthodox file manager.

yazi

Blazing fast file manager.

CRUD

trash-cli

Move files and directories to the trash.

advcpmv: Progress bars for GNU cp and mv

A patch for the GNU cp and mv tools which adds a progress bar and provides some info on what's going on.

F2: Batch renaming files and directories

F2 is a cross-platform command-line tool for renaming files and directories quickly and safely, with find and replace, regular expressions, built-in variables, a dry-run preview and undo.

Files

chokidar-cli

CLI to watch file system changes.

bat

A cat clone with syntax highlighting.

NCDu

A disk usage analyzer with an ncurses interface.

transmission-cli

Torrent client for your command line.

webtorrent-cli

Streaming torrent client.

entr

Run an arbitrary command when files change.

RecoverPy

Recover overwritten or deleted files.

dust: A more intuitive version of du

dust gives you an instant overview of which directories are using disk space, drawn as a tree with bar charts, without needing to sort or pipe the output through other tools.

Sync

rclone

Sync files with various cloud providers.

ffsend

Quick file share.

sharing

Send and receive files on your mobile device.

croc: Easily and securely send things from one computer to another

croc lets any two computers transfer files and folders securely with end-to-end encryption through a relay. Transfers are resumable, cross-platform and need no port forwarding.

Listing

eza

Improved version of ls.

lsd

ls with many extra features.

autojump

A cd command that learns - easily navigate directories from the command line.

z

z is the new j, yo.

z.lua

cd command that learns your habits.

zoxide

Fast directory jumper in Rust.

tere

A faster alternative to using cd and ls.

ripgrep

A line-oriented search tool that recursively searches your current directory for a regex pattern.

fzf

A general purpose command-line fuzzy finder, can be used with any list: files/directories, command history, processes, hostnames, bookmarks, git commits, etc.

fselect

Find files with SQL-like queries.

fd

A simple, fast and user-friendly alternative to find.

broot

Fuzzy finder similar to fzf, but with space usage visualization.

skim

A general fuzzy finder written in rust, similar to fzf.

ast-grep

A tool for code structural search, linting and rewriting.

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

rga is a line-oriented search tool that wraps ripgrep and lets you search for a regex in a multitude of file types: PDFs, E-Books, Office documents, zip and tar.gz archives, sqlite databases, movie subtitles and more.

Git

git-stats

A local GitHub-like contributions calendar.

tig

Text-mode interface for git.

git-standup

Recall what you did on the last working day.

git-secret

Store your private data inside a git repository.

git-extras

Git utilities.

gita

Manage multiple git repos side by side.

czg

Interactively generate standardized commit messages.

shallow-backup

Git integrated backup tool.

lazygit

Simple TUI for git commands.

GitUI: Blazing fast terminal UI for git

GitUI gives you the comfort of a git GUI right in your terminal: staging, committing, branching, stashing, log and diff inspection, all keyboard driven and fast on large repositories.

delta: A syntax-highlighting pager for git, diff and grep output

delta adds syntax highlighting, line numbers, side-by-side view and word-level diff highlighting to git diff, git show, git blame, grep and more.

GitHub

hub

Make git easier to use with GitHub.

gh: GitHub's official command line tool

gh brings pull requests, issues, GitHub Actions, releases and other GitHub concepts to the terminal, next to where you are already working with git.

Emoji

gitmoji-cli

Use emoji in commit messages.

General

SVGO

Optimize SVG files.

carbon-now-cli

Generate beautiful images of your code.

pageres-cli

Capture website screenshots.

GIFs

gifsicle

Create, manipulate, and optimize GIF images and animations.

ttygif

Convert terminal recordings to animated gifs.

asciinema

Terminal session recorder and companion app for asciinema.org.

Conversion

imagemagick

Gold standard for anything images.

imgp

Blazing fast batch image resizer and rotator.

Fun

fortune

Shows a random fortune.

lolcat

Outputs text in rainbow colors.

genact: A nonsense activity generator

Pretend to be busy or waiting for your computer when you should actually be doing real work. genact shows convincing fake activity such as compiling, downloading and deploying.

Emoji

emoj

Find relevant emoji from text on the command-line.

oji

Interactive text emoji maker.

Top

For recommendations please submit an issue on github.