Command Line

A while ago I wrote about my computer and gave an overview of the software that I use on a daily basis, without going too much into the details of specific areas. With this follow-up I want to focus on the tools that I use and put together a collection that aren't typically part of a POSIX system.

Command Line

Introduction

While I do have a strong preference for single a.out binaries without large dependency trees that do not require additional runtimes, I’m also a strong believer of using the right technology for the right job. Hence, I obviously prefer C/C++ and Rust programs, but I also don’t mind using Python-, Node.js-, Ruby- or Elixir/Erlang-based helpers to get a job done. For an example, I would definitely want a C/C++ or Rust alternative to ls – glad you’re asking, have exa please and thank you – over a Node.js version, simply because I want it to be instantly available and chew up as little CPU and memory as possible. Especially CPU usage is an important metric to me, as I’m heavily reliant on my MacBook’s battery life. That’s also one of the reasons I try to stay at least 6 feet apart from everything Electron-based and why I consistently keep anything that requires the JVM out of my life.

As mentioned before I try to install everything I use through brew, although I’d love to be able to use nix on macOS without all the trouble.

The Environment

As for the overall environment, I’m using Alacritty with a
minimalist config, the Z shell with Oh My Zsh and a rather large .zshrc. I run tmux hence I don’t really mind Alacritty not supporting multiple windows (or tabs) – especially since I mapped the standard macOS shortcuts to create new windows/panes in tmux. My terminal font is the Nerd Fonts patched Fira Code. Unfortunately without ligatures, since Alacritty does not support these yet.

My color schemes change from time to time, but you can check my dotfiles to see what I’m currently using.

The Collection

arduino-makefile code-makefile

arduino-mk

Makefile for Arduino sketches. It defines the workflows for compiling code, flashing it to Arduino and even communicating through Serial.

Installation

brew install arduino-mk
Website

asciinema code-python

asciinema

asciinema [as-kee-nuh-muh] is a free and open source solution for recording terminal sessions and sharing them on the web.

Installation

brew install asciinema
Website

bandwhich code-rust

bandwhich

Terminal bandwidth utilization tool.

Installation

brew install bandwhich
Website

bat code-rust

bat

A cat(1) clone with wings.

Installation

brew install bat
Website

battop code-rust

battop

battop is an interactive viewer, similar to top, htop and other top utilities, but about the batteries installed in your notebook.

Installation

cargo install battop
Website

bettercap code-go

bettercap

The Swiss Army knife for 802.11, BLE and Ethernet networks reconnaissance and MITM attacks.

Installation

brew install bettercap
Website

bingrep code-rust

bingrep

Universal Command Line Interface for Amazon Web Services.

Installation

cargo install bingrep
Website

bottom code-rust

bottom

A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows.

Installation

brew install clementtsang/bottom/bottom
Website

browsh code-nodejs code-go

browsh

A fully-modern text-based browser, rendering to TTY and browsers.

Installation

brew tap browsh-org/homebrew-browsh && brew install browsh
Website

caddy code-go

caddy

Fast, multi-platform web server with automatic HTTPS.

I found Caddy to be perfect for local development setups and test-purposes.

Installation

brew install caddy
Website

caffeinate code-c

caffeinate

Caffeinate prevents the system from sleeping on behalf of a utility.

Installation

Pre-installed on every macOS Mountain Lion or newer.

Website

code-minimap code-rust

code-minimap

This tool is for generating text minimaps at speed.

Installation

cargo install --locked code-minimap
Website

conclusive code-rust

conclusive

Conclusive. A command line client for Plausible Analytics.

Installation

Manually from https://github.com/mrusme/conclusive/releases/latest
Website

csview code-rust

csview

A high performance csv viewer with cjk/emoji support.

Installation

cargo install --locked csview
Website

dark-mode code-swift

dark-mode

Control the macOS dark mode from the command-line.

Installation

brew install dark-mode
Website

delta code-rust

delta

A viewer for git and diff output.

Installation

cargo install git-delta
Website

dijo code-rust

dijo

dijo is a habit tracker. It is curses-based, it runs in your terminal.

Installation

cargo install dijo
Website

dust code-rust

dust

du + rust = dust. Like du but more intuitive.

Installation

cargo install du-dust
Website

eva code-rust

eva

A calculator REPL, similar to bc(1).

Installation

cargo install eva
Website

exa code-rust

exa

A modern version of ‘ls’.

Installation

brew install exa
Website

fd code-rust

fd

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

Installation

brew install fd
Website

fzf code-go

fzf

A command-line fuzzy finder.

Installation

brew install fzf
Website

geld code-go

geld

Geld, zählen. A command line tool for tracking money and budgets.

Installation

Manually from https://github.com/mrusme/geld/releases/latest
Website

gfold code-rust

gfold

gfold is a CLI-driven application that helps you keep track of multiple Git repositories.

Installation

cargo install gfold
cargo install gfld
Website

ghcal code-nodejs

ghcal

See the GitHub contributions calendar of a user in the command line.

Installation

npm install -g ghcal
Website

gifgen code-shell

gifgen

Simple high quality GIF encoding.

Installation

brew install lukechilds/tap/gifgen
Website

git-crypt code-c++

git-crypt

Transparent file encryption in git.

Installation

brew install git-crypt
Website

git-flow code-shell

git-flow

Git extensions to provide high-level repository operations for Vincent Driessen’s branching model.

Installation

brew install git-flow
Website

git-journal code-rust

git-journal

The Git Commit Message and Changelog Generation Framework.

Installation

cargo install git-journal
Website

git-lfs code-go

git-lfs

Git extension for versioning large files.

Installation

brew install git-lfs
Website

gitui code-rust

gitui

Blazing fast terminal-ui for Git written in Rust.

Installation

brew install extrawurst/tap/gitui
Website

glow code-go

glow

Render markdown on the CLI, with pizzazz!

Installation

brew install glow
Website

gomphotherium code-go

gomphotherium

Gomphotherium (/ˌɡɒmfəˈθɪəriəm/; “welded beast”), a command line Mastodon client.

Installation

Manually from https://github.com/mrusme/gomphotherium/releases/latest
Website

gotty code-go

gotty

Share your terminal as a web application.

Installation

brew install yudai/gotty/gotty
Website

gping code-rust

gping

Ping, but with a graph.

Installation

brew install gping
Website

gron code-go

gron

Make JSON greppable!

Installation

brew install gron
Website

hexyl code-rust

hexyl

A command-line hex viewer.

Installation

brew install hexyl
Website

httpie code-python

httpie

Modern command line HTTP client – user-friendly curl alternative with intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc.

Installation

brew install httpie
Website

hugo code-go

hugo

Hugo is a static HTML and CSS website generator written in Go.

Installation

brew install hugo
Website

hyperfine code-rust

hyperfine

A command-line benchmarking tool.

Installation

brew install hyperfine
Website

icdiff code-python

icdiff

Improved coloured diff.

Installation

brew install icdiff
Website

imager code-rust

imager

Automated image compression for efficiently distributing images on the web.

Installation

cargo install imager
Website

irssi code-c

irssi

The client of the future.

I use this IRC client in combination with ZNC.

Installation

brew install irssi
Website
lnav

Log file navigator.

Installation

brew install lnav
Website

matterhorn code-haskell

matterhorn

Matterhorn is a terminal client for the Mattermost chat system.

Installation

brew cask install matterhorn
Website

mc code-c

mc

GNU Midnight Commander (also referred to as MC) is a user shell with text-mode full-screen interface.

Installation

brew install midnight-commander
Website

mdcat code-rust

mdcat

cat for markdown.

Installation

brew install mdcat
Website

mosh code-c++

mosh

Mobile Shell.

Here is a good post on why Mosh makes sense.

Installation

brew install mosh
Website

ncdu code-c

ncdu

Ncdu is a disk usage analyzer with an ncurses interface.

Installation

brew install ncdu
Website

neomutt code-c

neomutt

NeoMutt was created when Richard Russon took all the old Mutt patches, sorted through them, fixed them up and documented them.

Installation

brew install neomutt
Website

neovim code-c

neovim

Vim-fork focused on extensibility and usability.

Installation

brew install neovim
Website

pastel code-rust

pastel

pastel is a command-line tool to generate, analyze, convert and manipulate colors.

Installation

cargo install pastel
Website

picocom code-c

picocom

Minimal dumb-terminal emulation program.

Installation

brew install picocom
Website

pipe-rename code-rust

pipe-rename

pipe-rename takes a list of files as input, opens your $EDITOR of choice, then renames those files accordingly.

Installation

cargo install pipe-rename
Website

procs code-rust

procs

A modern replacement for ps written in Rust.

Installation

brew install procs
Website

rates code-rust

rates

Rates is a scriptable CLI tool that brings currency exchange rates right into your terminal and supports 30+ fiat and 10K+ crypto currencies.

Installation

cargo install rates
Website

restic code-go

restic

Fast, secure, efficient backup program.

Installation

brew install restic
Website

ripgrep code-rust

ripgrep

ripgrep recursively searches directories for a regex pattern.

Installation

brew install ripgrep
Website

rsnapshot code-perl

rsnapshot

A tool for backing up your data using rsync.

Installation

brew install rsnapshot
Website

shellcaster code-rust

shellcaster

Shellcaster is a terminal-based podcast manager, built in Rust.

Installation

cargo install shellcaster
Website

so code-rust

so

A terminal interface for StackOverflow written in Rust.

Installation

brew install so
Website

socat code-c

socat

“netcat++” (extended design, new implementation).

Installation

brew install socat
Website

speed-test code-nodejs

speed-test

Test your internet connection speed and ping using speedtest.net from the CLI.

Installation

npm install -g speed-test
Website

syncthing code-go

syncthing

Open Source Continuous File Synchronization.

I use this as an open source alternative to Resilio Sync in cases in which I only require system-to-system sync and hence don’t need mobile (iOS) support.

Installation

brew install syncthing
Website

taskwarrior-ui code-rust

taskwarrior-ui

A Terminal User Interface for Taskwarrior.

Installation

brew install taskwarrior-ui
Website

tealdeer code-rust

tealdeer

A very fast implementation of tldr in Rust.

Installation

brew install tealdeer
Website

terminalizer code-nodejs

terminalizer

Record your terminal and generate animated gif images or share a web player.

Installation

npm install -g terminalizer
Website

terraform code-go

terraform

Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

Installation

brew install terraform
Website

tickrs code-rust

tickrs

Realtime ticker data in your terminal.

Installation

cargo install tickrs
Website

tig code-c

tig

Text-mode interface for git.

Installation

brew install tig
Website

tor code-c

tor

Defend yourself against tracking and surveillance. Circumvent censorship.

Installation

brew install tor
Website

transmission-cli code-python

transmission-cli

A Fast, Easy and Free BitTorrent Client.

Installation

brew install transmission-cli
Website

tuir code-python

tuir

Browse Reddit from your terminal.

Installation

pip3 install tuir
Website

viu code-rust

viu

A small command-line application to view images from the terminal written in Rust.

Installation

cargo install viu
Website

vocage code-rust

vocage

Vocage is a minimalistic terminal-based vocabulary-learning tool.

Installation

cargo install vocage
Website

websocat code-rust

websocat

Netcat, curl and socat for WebSockets.

Installation

cargo install --features=ssl websocat
Website

wikit code-nodejs

wikit

Wikipedia summaries from the command line.

Installation

npm install -g wikit
Website

ytop code-rust

ytop

Another TUI based system monitor, this time in Rust.

Installation

brew tap cjbassi/ytop && brew install ytop
Website

zeit code-go

zeit

Zeit, erfassen. A command line tool for tracking time spent on activities.

Installation

Manually from https://github.com/mrusme/zeit/releases/latest
Website

zenith code-rust

zenith

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

Installation

brew tap bvaisvil/zenith && brew install zenith
Website

zola code-rust

zola

A fast static site generator in a single binary with everything built-in.

Installation

brew install zola
Website
published [2020-05-03] · updated [2021-05-07]