Command Line
An ever-chaning collection of command line tools that I find useful on a daily basis or just fun to play with from time to time.

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
eza 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.
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 sometimes use tmux and my terminal font is the
Nerd Fonts patched Fira Code.
My color schemes change from time to time, but you can check my dotfiles to see what I’m currently using.
The Collection
arduino-cli
[go]
Arduino command line tool.
Websiteasciinema
[python]
asciinema [as-kee-nuh-muh] is a free and open source solution for recording terminal sessions and sharing them on the web.
Websitebandwhich
[rust]
Terminal bandwidth utilization tool.
Websitebat
[rust]
A cat(1) clone with wings.
Websitebattop
[rust]
battop is an interactive viewer, similar to top, htop and other top utilities, but about the batteries installed in your notebook.
Websitebingrep
[rust]
Universal Command Line Interface for Amazon Web Services.
Websitebottom
[rust]
A cross-platform graphical process/system monitor with a customizable interface and a multitude of features. Supports Linux, macOS, and Windows.
Websitebrowsh
nodejs ![code-go]
A fully-modern text-based browser, rendering to TTY and browsers.
Websitechafa
[c]
Chafa is a command-line utility that converts all kinds of images, including animated GIFs, into sixel or ANSI/Unicode character output that can be displayed in a terminal.
Websitecode-minimap
[rust]
This tool is for generating text minimaps at speed.
Websitecointop
[go]
A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies.
Websiteconclusive
[rust]
Conclusive. A command line client for Plausible Analytics.
Websitecsview
[rust]
A high performance csv viewer with cjk/emoji support.
Websitectop
[go]
Top-like interface for container metrics
Websitedasel
[go]
Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.
Websitedelta
[rust]
A viewer for git and diff output.
Websitedijo
[rust]
dijo is a habit tracker. It is curses-based, it runs in your terminal.
Websitedust
[rust]
du + rust = dust. Like du but more intuitive.
Websiteendlessh
[c]
SSH tarpit that slowly sends an endless banner.
Websiteeva
[rust]
A calculator REPL, similar to bc(1).
Websiteeza
[rust]
A modern version of ‘ls’.
Websitefzf
[go]
A command-line fuzzy finder.
Websitegfold
[rust]
gfold is a CLI-driven application that helps you keep track of multiple Git repositories.
Websitegit-crypt
[c++]
Transparent file encryption in git.
Websitegit-journal
[rust]
The Git Commit Message and Changelog Generation Framework.
Websitegitui
[rust]
Blazing fast terminal-ui for Git written in Rust.
Websiteglow
[go]
Render markdown on the CLI, with pizzazz!
Websitegomphotherium
[go]
Gomphotherium (/ˌɡɒmfəˈθɪəriəm/; “welded beast”), a command line Mastodon client.
Websitegotty
[go]
Share your terminal as a web application.
Websitegpg-tui
[rust]
Manage your GnuPG keys with ease!
Websitegping
[rust]
Ping, but with a graph.
Websitegron
[go]
Make JSON greppable!
Websitehexyl
[rust]
A command-line hex viewer.
Websitehtmlq
[rust]
Like jq, but for HTML.
Websitehugo
[go]
Hugo is a static HTML and CSS website generator written in Go.
Websitehyperfine
[rust]
A command-line benchmarking tool.
Websiteimager
[rust]
Automated image compression for efficiently distributing images on the web.
Websiteirssi
[c]
The client of the future.
I use this IRC client in combination with ZNC.
Websitejless
[rust]
jless is a command-line JSON viewer designed for reading, exploring, and searching through JSON data.
Websitejwt-cli
[rust]
A super fast CLI tool to decode and encode JWTs built in Rust.
Websitekmon
[rust]
Linux Kernel Manager and Activity Monitor.
Websitelemmeknow
[rust]
The fastest way to identify anything!
Websitelf
[go]
Terminal file manager.
Websitelnav
[c++]
Log file navigator.
Websitematterhorn
[haskell]
Matterhorn is a terminal client for the Mattermost chat system.
Websitemc
[c]
GNU Midnight Commander (also referred to as MC) is a user shell with text-mode full-screen interface.
Websitemdcat
[rust]
cat for markdown.
Websitemosh
[c++]
Mobile Shell.
Here is a good post on why Mosh makes sense.
Websitencdu
[c]
Ncdu is a disk usage analyzer with an ncurses interface.
Websiteneomutt
[c]
NeoMutt was created when Richard Russon took all the old Mutt patches, sorted through them, fixed them up and documented them.
Websiteneovim
[c]
Vim-fork focused on extensibility and usability.
Websiteoxipng
[rust]
Multithreaded PNG optimizer written in Rust.
Websitepastel
[rust]
pastel is a command-line tool to generate, analyze, convert and manipulate colors.
Websitepipe-rename
[rust]
pipe-rename takes a list of files as input, opens your $EDITOR of choice, then renames those files accordingly.
Websiteprocs
[rust]
A modern replacement for ps written in Rust.
Websiteradicle-cli
[rust]
Radicle CLI.
Websiterates
[rust]
Rates is a scriptable CLI tool that brings currency exchange rates right into your terminal and supports 30+ fiat and 10K+ crypto currencies.
Websitereader
[go]
reader is for your command line what the “readability” view is for modern browsers: A lightweight tool offering better readability of web pages on the CLI.
Websiterestic
[go]
Fast, secure, efficient backup program.
Websiteresto
[go]
A CLI app that can send pretty HTTP & API requests with TUI.
Websiteripgrep
[rust]
ripgrep recursively searches directories for a regex pattern.
Websitersnapshot
[perl]
A tool for backing up your data using rsync.
Websiterustscan
[rust]
The Modern Port Scanner.
Websiteshellcaster
[rust]
Shellcaster is a terminal-based podcast manager, built in Rust.
Websitesilicon
[rust]
Create beautiful image of your source code.
Websiteso
[rust]
A terminal interface for StackOverflow written in Rust.
Websitesocat
[c]
“netcat++” (extended design, new implementation).
Websitesuperhighway84
[go]
USENET-inspired, uncensorable, decentralized internet discussion system running on IPFS & OrbitDB
Websitesyncthing
[go]
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.
Websitetaskwarrior-tui
[rust]
A Terminal User Interface for Taskwarrior.
Websitetealdeer
[rust]
A very fast implementation of tldr in Rust.
Websiteticker
[go]
Terminal stock ticker with live updates and position tracking.
Websitetickrs
[rust]
Realtime ticker data in your terminal.
Websitetmpmail
[rust]
A temporary email right from your terminal written in POSIX sh.
Websitetre
[rust]
Tree command, improved.
Websitetz
[go]
A time zone helper.
Websiteviu
[rust]
A small command-line application to view images from the terminal written in Rust.
Websitevocage
[rust]
Vocage is a minimalistic terminal-based vocabulary-learning tool.
Websitewebsocat
[rust]
Netcat, curl and socat for WebSockets.
Websitewikit
[nodejs]
Wikipedia summaries from the command line.
Websitexplr
[rust]
A hackable, minimal, fast TUI file explorer.
Websiteyj
[go]
CLI - Convert between YAML, TOML, JSON, and HCL. Preserves map order.
Websitezeit
[go]
Zeit, erfassen. A command line tool for tracking time spent on activities.
Websitezenith
[rust]
Sort of like top or htop but with zoom-able charts, network, and disk usage.
Websitezoxide
[rust]
A smarter cd command. Supports all major shells.
WebsiteSnippets
This is a list of command snippets that I regularly need/use. I’m putting them here in order to persist them in case my zsh history should be gone one day.
- Stream DSLR viewfinder via USB-C to
/dev/video0
:gphoto2 --stdout --capture-movie \ | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
- Set GTK theme:
gsettings set org.gnome.desktop.interface gtk-theme "$GTK_THEME" \ && gsettings set org.gnome.desktop.wm.preferences theme "$GTK_THEME"
- Arduino compiling & uploading:
arduino-cli compile --fqbn esp32:esp32:esp32s2 --clean -e ./ \ && arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32s2 \ -i ./build/esp32.esp32.esp32s2/*.ino.elf
- Search font:
fc-list | rg $FONT
published [ ] · updated [ ]