Skip to main content
  1. Knowledge Base/
  2. Applications/

CLI Applications

Table of Contents

See GUI Applications for more.

awless
#

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
#

bash-my-aws

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

bat
#

bat

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

broot
#

broot

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

cheat.sh
#

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
#

cloc

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

delta
#

delta

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

diff-so-fancy
#

diff-so-fancy

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

direnv
#

direnv

  • automatic context aware .profile
  • written in Go
  • shell hooks for zsh, fish, bash, …

dua-cli
#

dua-cli

  • alternativ to du
  • written in Rust
  • cross platform
  • very fast
  • interactive (dua i)

duf
#

duf

  • alternativ to df
  • cross platform
  • written in Go
  • very fast
  • nice looking

entr
#

entr

  • run arbitrary commands when files change
  • cross platform
  • written in Go
  • endless possibilities

exa
#

exa

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

extract
#

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
#

fd

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

figlet
#

figlet

  • ASCII letter generator
  • cross platform
  • customizable

fasd
#

fasd

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

forgit
#

forgit

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

fzf
#

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

gitui
#

gitui

  • Git TUI
  • written in Rust
  • cross platform
  • customizable
  • vim like bindings
  • my conf

glances
#

glances

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

glow
#

glow

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

gotop
#

gotop

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

hledger
#

hledger

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

htop
#

htop

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

iftop
#

iftop

  • top like interface for bandwidth usage
  • written in C

iotop
#

iotop

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

isync
#

isync

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

jq
#

jq

  • process json files
  • cross platform
  • written in C

khard
#

khard

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

khal
#

khal

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

lazygit
#

lazygit

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

lf
#

lf

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

lsd
#

lsd

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

mstmp
#

msmtp

  • SMTP Client
  • written in C
  • sendmail compatible

mu-repo
#

mu-repo

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

mutt
#

mutt

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

ncdu
#

ncdu

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

ngrep
#

ngrep

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

nnn
#

nnn

  • terminal file manager
  • written in C
  • cross platform
  • very fast
  • highly customizable

pandoc
#

Pandoc

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

pdfgrep
#

pdfgrep

  • grep for pdfs
  • cross platform
  • written in C++

prettyping
#

prettyping

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

procs
#

procs

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

ranger
#

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
#

ripgrep

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

Comprehensive comparison of grep alternatives.

rofi
#

rofi

  • window switcher, application launcher, ssh, scripting and more
  • written in C
  • highly customizable and scriptable
  • vim like keybindings

spacemacs
#

spacemacs

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

spacevim
#

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

ssh_scan
#

ssh_scan

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

storm
#

storm

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

sxhkd
#

sxhkd

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

thefuck
#

thefuck

  • corrects previously entered commands
  • written in Python
  • supports various commands like git, apt, etc
  • can be extended with custom rules

translate-shell
#

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
#

tig

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

tmux
#

tmux

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

tokei
#

tokei

  • count lines of code
  • cross platform
  • written in Rust

trash-cli
#

trash-cli

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

urlview
#

urlview

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

vagrant
#

vagrant

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

vdirsyncer
#

vdirsyncer

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

viddy
#

viddy

  • watch replacement
  • cross platform
  • written in Go
  • “rewind” function
  • vim like keymaps

vidir
#

vdir

  • bulk edit directories and files in a vim buffer
  • part of most Linux distributions

vifm
#

vifm

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

w3m
#

w3m

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

xsv
#

xsv

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

youtube-dl
#

youtube-dl

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

yq
#

yq

  • jq for yaml
  • cross platform
  • written in Go

Webservices
#

Weather
#

curl wttr.in/München

Crypto currencies
#

curl eur.rate.sx/eth

External IP
#

curl ipecho.net/plain

Translator
#

Translates marked text to de with the Google translate API and displays the result via notify-send

notify-send --icon=info "$(xsel -o)" \
	"$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=de&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" \
    | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"

Cheatsheet
#

curl cht.sh/ls
curl cht.sh/python/dirs+recursive

See cheat.sh

Latencies
#

curl cheat.sh/latencies

Generate QR codes
#

curl qrenco.de/https://google.com
curl qrenco.de/Hello%20World

URL Shortener
#

curl -s http://tinyurl.com/api-create.php\?url=https://google.com

Random commit messages
#

curl -sk https://whatthecommit.com/index.txt

Star Wars in terminal
#

nc towel.blinkenlights.nl 23