CLI Applications

August 2, 2020 Application 4 minutes, 53 seconds

A brief overview of command line interface applications I use and highly recommend! See GUI Applications for more.

awless

  • AWS CLI wrapper
  • written in Go
  • intuitive set of (sub)commands
  • templating language
  • different terminal outputs
  • see also bash-my-aws

bash-my-aws

  • AWS CLI wrapper scripts
  • written in Bash
  • Unix pipeline friendly
  • short memorable commands
  • command completion
  • see also awless

bat

  • cat alternative
  • written in Rust
  • syntax highlightning
  • Git integration
  • automatic paging

broot

  • navigate your files with ease from your terminal
  • cd+ls+tree+du replacement and more
  • written in R
  • configurable and scriptable

cheat.sh

  • cheatsheet interface
  • written in Python
  • 56 programming languages, several DBMSes, and more than 1000 UNIX/Linux commands
  • simple curl/browser interface
  • fast
  • CLI client cht.sh

cloc

  • count lines of code
  • written in Perl
  • autodetects languages
  • comments agnostic

delta

  • alternative to diff-so-fancy
  • enhanced and customizable diff view
  • written in Rust

diff-so-fancy

  • alternative for git diff
  • customizable and nice looking
  • written in Perl

exa

  • ls alternative
  • similar to lsd
  • written in Rust
  • fast
  • colored multi column output
  • respects git status
  • single binary

extract

  • oh-my-zsh plugin
  • written in bash
  • auto detects and extracts various compressed formats
  • simple and easy to use
  • required "backend" commands (like zip or tar) must be installed

fd

  • find alternative
  • written in Rust
  • fast
  • provides sane defaults
  • does not intend to fully replace find

figlet

  • ASCII letter generator
  • cross platform
  • customizable

fasd

  • fast navigation in your shell
  • written in shell
  • quickaccess to files, directories
  • inspired by autojump, z, and v

forgit

  • interactive git
  • written in Bash
  • utilizes fzf
  • see tig for an alternative

fzf

  • command line fuzyy finder
  • written in Golang
  • endless use cases
  • portable
  • Integration in tmux, vim, bash, zsh, ...
  • skim - alternative written in Rust

See here for some of my tweaks

glances

  • fancy top alternative
  • written in Python
  • similar to gotop and htop
  • including webserver
  • cross platform
  • remote monitoring

glow

  • render markdown on the cli
  • written in Go
  • styles and paging
  • read from URL
  • similar to bat

gotop

  • fancy top alternative
  • written in Go
  • similar to glances and htop
  • colorscheme support
  • includes network, temperatures and more

hledger

  • double entry accounting
  • written in Haskell
  • ledger compatible
  • Web UI, ncurses, API, reports, and more

htop

  • enhanced version of top
  • written in C
  • ncurses UI
  • Alternatives: glances and gotop

iftop

  • top like interface for bandwidth usage
  • written in C

iotop

  • top like interface for ingoing/outgoing
  • written in python

isync

  • IMAP and MailDir synchronization
  • written in C
  • control every aspect of synchronization

khard

  • CardDAV client
  • written in Python
  • mutt integration
  • in combination with vdirsyncer

khal

  • calendar application
  • written in Python
  • reads and writes events/icalendars
  • in combination with vdirsyncer

lazygit

  • alternative to tig
  • simple terminal UI for git
  • written in Go
  • no dependencies
  • cross platform

lf

  • file manager
  • written in Go
  • three pane style
  • vim like keybindings
  • no dependencies
  • similar to ranger
  • alternatives: nnn, vifm, ranger

lsd

  • ls alternative
  • similar to exa
  • written in Rust
  • fast
  • colored multi column output
  • single binary
  • icons

msmtp

  • SMTP Client
  • written in C
  • sendmail compatible

mu-repo

  • manage multiple git repos
  • run git commands on multiple repos
  • discover git repos in your file system

mutt

  • full featured mail client
  • written in C
  • highly customizable and scriptable
  • vim like keybindings

ncdu

  • ncurses disk usage
  • written in C
  • fast and simple to use

ngrep

  • user friendly tcpdump alternative
  • written in C
  • PCAP based

Pandoc

  • text converter
  • written in Haskell
  • supports many many formats
  • md to pdf, html, ...

prettyping

  • wrapper around ping
  • written in bash
  • colorful and easy to read

procs

  • alternative to ps
  • written in Rust
  • open source
  • nice looking and handy functionality
  • customizable

ranger

  • file manager
  • written in Python
  • three pane or two pane style
  • highly customizable and scriptable
  • vim like keybindings
  • alternatives: vifm, nnn, mc, lf

ripgrep

  • grep alternative
  • written in Rust
  • fast
  • mostly grep compatible
  • sane default settings

Comprehensive comparison of grep alternatives.

spacemacs

  • Emacs distribution
  • combines Emacs and Vim
  • written in elisp

  • Vim distribution
  • like spacemacs for Vim
  • written in Vim script

ssh_scan

  • SSH configuration and policy scanner
  • written in Ruby
  • by Mozilla
  • portable and configurable

storm

  • ssh management wrapper
  • written in Python
  • add, edit, delete, and list your .ssh/config entries
  • various UIs

sxhkd

  • hotkey utility
  • written in C
  • works across all Distributions with x server

translate-shell

  • language translation in your shell
  • powered by Google Translate (default) , Bing Translator, Yandex.Translate, and Apertium
  • written in Awk
  • self contained executable

tig

  • modern text interface for git
  • written in C
  • ncurses UI

tmux

  • terminal multiplexer
  • alternative to screen
  • written in C
  • basic intro

trash-cli

  • rm alternative with trashcan
  • written in Python
  • deleted files can be restored

urlview

  • extract URLs from text
  • written in C
  • mutt and tmux integration and more

vagrant

  • build your environments
  • VirtualBox, VMWare, KVM, Public Cloud, ...
  • written in Ruby
  • cross platform

vdirsyncer

  • synchronize calendars and contacts
  • written in Python
  • CardDAV / CalDAV support
  • fine control

vifm

  • file manager
  • written in C
  • MC look and feel
  • highly customizable and scriptable
  • vim like keybindings
  • alternatives: ranger, nnn, lf

w3m

  • text-based web browser
  • written in C
  • Vim like keybindings
  • renders html for other apps (like mutt)
  • alternatives: links2, Lynx, Elinks

xsv

  • CSV parsing and manipulation
  • written in Rust
  • indexing, slicing, analyzing, splitting and joining

youtube-dl

  • download videos from video platforms
  • written in Python
  • by far not limited to youtube
  • convert videos to mp4