I currently use the following Linux versions, some as boot OS, others as WSL VMs:
- At home: Ubuntu 25.10 & Kubuntu 25.10
- At work: Ubuntu 22.04 & 24.04
I am a heavy user of the default bash shell.
- dbohdan/structured-text-tools - Much of my day job is concerned with understanding log files we produce. This page gives an invaluable overview of standard tools available for slicing, dicing and comprehending large structured text outputs.
- The excellent list at ibraheemdev/modern-unix contains more tools I may try in the future.
- A blog post by Julia Evans has some cool stuff to look at too.
- uv - FAST. "A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more." Good Cheat Sheet
- ruff - Fast linting/formatting from the command-line & IDE plug-ins.
- ty - Fast type checking from the command-line.
- radon - Cyclomatic Complexity, SLOCs & other metrics.
I've marked all tools with icons indicating the primary implmentation language, e.g., Rust
,
Go
, Python
and Ruby
.
| Name | Install Steps | Description / Config |
|---|---|---|
cargo install diskonaut |
Interactive treemap visualization of disk space usage, right in the console | |
apt intall duf |
Easy-on-the-eyes du/df replacement. |
|
apt install fd-find |
Colorful, fast find replacement with sensible, opinionated defaults. fdfind is the command on Ubuntu. |
|
cargo install lla |
Fast, colorful ls replacelment. I particularly like using the -G option to peruse a local Git repository. |
|
curl | sh & add command to .bashrc |
Best cd replacement ever, leverages fzf to let you "fuzzy cd". Requires Ubuntu 24.04+ |
| Name | Install Steps | Description / Config |
|---|---|---|
apt install bat |
Colorful cat with line numbers, paging, and syntax highlighting. (Tool is invoked with batcat when apt installed.) |
|
snap install fx |
JSON Viewer that helps with figuring out jq query syntax. | |
snap install glow |
Render markdown nicely right in the terminal. Use -p for paged output. |
|
cargo install --locked --git https://github.com/pamburus/hl.git |
Fast pretty colorful presentation/filtering of JSON-formatted logs. | |
cargo install jnv |
Pure Rust interactive json filtering for subset of jq filters. | |
apt install micro |
Nano replacement with syntax highlighting. | |
apt install ripgrep |
Fast, developer-friendly grep-like code searcher. | |
apt install vim |
Like trusty old vi but better, includes syntax highlighting. |
|
cargo install xan |
Amazing command-line interactive CSV file viewer/processor. |
| Name | Install Steps | Description / Config |
|---|---|---|
| Download binary. Place in ~/.local/bin | Intuitive terminal-based UI to your Git repository. Lacks tig's multi-branch tree view, so both tools are nice to have. | |
| 🔨 git what | See repo for manual instruction with Make. | Just type git what for a quick, colorfol, summary of all the local open branches in the current repo. |
apt install tig |
Fancy git browser. I also like the "git lola" variant given at this blog post |
| Name | Install Steps | Description / Config |
|---|---|---|
| Unzip executable from releases tarball to /usr/local/bin | Very nice presentation of what programs are consuming bandwith on connections to where. Needs sudo to run. |
|
| Unzip executable from releases tarball to /usr/local/bin | Pretty dig replacement, for querying DNS from the command-line. | |
apt install fzf, then look at apt show fzf to find instructions on enabling keybindings and autocompletions. |
Powerful "command-line fuzzy finder" that is hard to describe adequately. Its Alt-C function has allowed me to augment autojump when jumping into the current tree. Just watch this YouTube video, or read this blog post. | |
| dpkg (see below) | Colorful hexadecimal binary file viewer. | |
pip install litecli |
Colorful autocomplete-savvy SQLite CLI client | |
| Download tarball release file, extract under ~/.local, and update alias | Fancy uber-capable shell, inspired by PowerShell, but results are more column-and-row based. | |
snap install procs |
Colorful, flexible ps replacement. |
|
| Install Fira Code Nerd Font; Set as font in terminal application; Set as font in VS Code; Follow Quick Install instructions using shell script. | Amazing developer-friendly, colorful, and rich shell prompt. Config: Copy .config/starship.toml to ~/.config | |
snap install --classic zellij |
Colorful, user-friendly, tmux replacement, that I usually use now. Config: Copy .config/zellij/config.yaml to use Alt-S and Alt-Q instead, which avoids collision with micro editor keys. |
cargo = Just what it says. My favorite way to get Rust up and running is to
apt install rustup, then issue the command, rustup toolchain install stable. That
way, it's easy to update to a newer version of Rust later. Some tools, like diskonaut,
have C++ dependencies to build as well. Usually sudo apt install build-essintial
suffices to provide these.
dpkg = Find the appropriate non-musl-variant
amd64 or armhf .deb release file in the project releases page (generally just add
/releases to the GitHub project URL), curl -LO [release-file-url] for the
appropriate .deb release file, then sudo dpkg -i [release-file].
snap is included on Ubuntu as its favored containerized application solution. It is not supported on WSL. flatpak must first be installed and setup.
Nowadays, containerized solutions like snap or flatpak are a common and useful way to install software on Linux.
- uv - Fast replacement for pip, venv, et al, written in Rust.
- wat - Interactive object introspection with colorful output.
Look promising, but I haven't really tried enough and/or made up my mind yet:
- I've been nervous about Nix & NixOS, but this tool looks to possibly give me 99% of what I might want from those, anyway, including having a lot of the above tools installed on any new machine easily: https://getfleek.dev/
- nb - CLI-based notebook that utilizes Git and can sync your notes using a remote git repository.
- rulex - I love that this "simplified" text matching language can generate non-trivial regexes for numeric ranges for me.
- chezmoi - Manage dotfiles across machines leveraging Git, written in Go.