My 2019 essential tool list
SoftwareEvery few years I collate a list of the shell tools I use, in the hopes it might be useful to someone. These install on my FreeBSD, NetBSD, macOS, and Debian boxes, unless otherwise stated. Most package names are derived from pkgsrc, but should be similar in others package managers. BSD/MIT licenced packages or similar have a green ♥ because they make me especially happy.
This list does not include fully-fledged ncurses or console applications, like IRC clients or music players. As FedEx would say, those are for another post. Ah man, so good.
Utilities
ag
: fastgrep
alternative ️♥ansible
: easiest orchestration systemaria2
: parallelcurl
/fetch
/wget
replacement with torrent supportcheckbashisms
: to verify script portabilitycolordiff
: nice syntax highlighting fordiff
colorize
: nice syntax highlighting for logsfd
: high-performancefind
alternative ️♥htop
: nicertop
, especially useful for visualising CPUslsof
: list open files ️♥lzop
: ultra fast compression for temporary file transfersoksh
: Portable OpenBSD KornShell, my current preferred shell ️♥p7zip
: for extracting 7zip files Windows people send meplzip
for parallel compression with safe integrity checkssqlite3
: alongside other things, I also use for personal DBssudo
: auditable super user interfacetmux
: detach sessions, likescreen
️♥tree
: display directories as trees, DOS stylewatch
: periodically run process to review changes
Disks
dcfldd
: no more pipingdd
tolv
for copying blocks with a progress barddrescue
: data recovery and robust disk copyingfio
: flexible IO performance testeriotop
: easy disk activity monitorqemu-utils
: disk image conversion from the legendary emulatorsmartmontools
: SMART drive monitoring and reportingtestdisk
: partition analyser and recovery tool
Entirely pointless
cmatrix
: Matrix emulator (pity that movie didn’t have sequels)cowsay
: echoes Copy on Write drive structures… yes, that’s itfiglet
: cute text banners in a variety of different styles/fontslolcat
: such colour, so rainbow ️♥neofetch
: pretty system information ️♥
Writing, blogging, podcasting
docbook
: still the standard for online technical docsexiftool
: reads EXIF data from imageseyeD3
: for batch processing ID3 tags in MP3sffmpeg4
: video processing Swiss Army Kifego-hugo
: fastest static site generatorImageMagick
: image processing Swiss Army Knifejpegoptim
: lossless [sic] JPEG image optimisermkdocs
: web documentation generator from Markdown ️♥normalize
: normalise, incorrectly spelled, across audio filespngcrush
: lossless PNG optimisersvgcleaner
: correct, minify SVG imagestesseract
: simple to use image OCR ️♥wn
: the WordNet lexical database of English ️♥youtube-dl
: download videos from YouTube, Vimeo, etc ️♥
Networking (for a non-networking guy!)
2ping
: bi-directionalping
testingarping
: layer 2 ping (Thomas Habets version)bwm_ng
: next-gen bandwidth monitorlinks
: quick console browsing in a pinch; I don’t needelinks
mosh
: interactive SSH replacement for high-latency connectionsmtr
:traceroute
andping
in one toolncftp
: because yes, FTP still exists in 2019nmap
: port scanner for firewall testing… yes, that’ll dorsync
: still the best sane data transferersshfs
: quick and dirty remote disk mounts over SSHsshuttle
: quick and dirty VPN over sshtcpdump
: quick way to inspect NIC traffic without Wireshark ️♥
OS specific
debian-goodies
: lots of useful apt package tools (Debian)docproj
: metapackage for FreeBSD documentation (FreeBSD) ️♥firehol
: simple Linux iptables (Debian)iocage
: super easy, ZFS-enabled jail interface (FreeBSD) ️♥mactex
: everything you need for LaTeX on Mac (macOS)mas
: shell interface to the Mac App Store (macOS) ️♥pkgsrc
: replaced Homebrew with it, thanks NetBSD! (macOS) ️♥reprepro
: apt repository and package generator (Debian)tag
: manipulate macOS extended attribute tags (macOS) ️♥