mirror of
https://github.com/mhoye/moderntools.git
synced 2024-12-25 21:58:43 +01:00
a6faad51bd
Apparently exa has been forked and largely abandoned, and the current excitement is over at eza.
7.3 KiB
7.3 KiB
Modern Unix Tools
Modern problems require modern solutions.
This is a collection of very useful utilities that I've collected by asking the internet "What modern utilities should be a standard part of a modern unixy distro and why?"
Additions and corrections via raised issue or pull requests are welcome.
Utilities
System use and management
- htop, "a cross-platform interactive process viewer".
- bottom, an htop-like utility that also got some votes.
- btop++, another 'better top' variant.
- ncdu, friend of htop and a nice disk usage display for the terminal.
- HTTPie, a CURL-adjacentish command-line HTTP client for testing and debugging web APIs.
- Xh is related, described as reimplementing a subset of HTTPie's interface with an emphasis on simplicity and speed.
- glow, a markdown-on-the-command-line tool.
- Lowdown, also a markdown tool, also interesting.
- fzf and skim are both interesting CLI "fuzzy finders" (but take a look at 'z' further down this list.)
- tldr - simplified man pages with practical examples. The world has needed this for a long time.
- Tree: show you the tree structure of directories, a bit like microdosing on Midnight Commander from back in the day.
- Broot: better navigation of directory trees.
- atool, a set of scripts that wrap common compressed-file-format handlers.
- LazyDocker and LazyGit, CLI improvements for Docker and Git respectively.
Data management
A collection of modern data migration, conversion and management tools.
- Gron, a tool for making JSON greppable.
- jq and jid are both fantastic tools for inspecting and manipulating JSON.
- ijq, an "interactive jq".
- xidel: this looks like jq-for-html, and I'm intrigued.
- csvkit: if you spend a lot of time working with comma-separated values, accept no substitutes.
- miller, a CSV multitool.
- VisiData: a tabular data visualization multitool.
- duc, also a nice drive-use visualizer.
- matplotlib: the upgrade over gnuplot you've been waiting for.
- st, "Simple Statistics", a command-line app that calculates the sum, mean, standard deviation, and a few other things about a set of numbers.
- Datamash: Gnu, I know, but an interesting command-line-math tool.
- Dasel, short for Data Selector, like jq/yq but with more supported data formats.
- nushell: A structured-data pipeline-building shell.
- rclone, a cloud-storage data-moving multitool, similar to rsync.
- unison: a file synchronizer, can keep two directories in sync bi-directionally.
Specialized tools
"Do one thing and do it well."
Revisiting The Classics
A collection of tools best described as "A better $X"
- ply, described as "bpftrace without the drama."
- duf a better df.
- ripgrep, a line-oriented search tool, described as a better grep.
- sd, a better sed.
- fd, a better find
- bat, a better cat.
- dust, a better du.
- lsd and eza, new takes on the venerable ls. (Note: this previously referred to exa, rather than eza, but exa has apparently been forked and abandoned.
- zoxide: an interesting update to, of all things, cd!
- z: another "better cd", but a very cool frecency-and-regex-matching "faster/smarter cd".
- ag: the Silver Searcher, a better ack (which was in turn born "a better grep").
- just: Just, a modernization of the venerable Make.
- Meli email: An extensible terminal based mail client; a work in progress, but an elegant improvement on Mutt.
- Aerc: Another email client for the terminal, described as highly efficient and extensible, perfect for the discerning hacker.
Shells, shell customizations and ergonomic improvements
- fish: Finally, a command line shell for the 90s. Non-posix, but with nice defaults for interactive use right out of the box (very little need for custom configuration and plugins).
- zsh: A modernized, modular update to Bash with a lot of new utility built in, as well as its remarkable collection of plugins
- Starship.rs: Cross-shell prompt customization that looks very pretty.
- atuin: "magical shell history", storing shell history in an SQLite DB and offering fully-encrypted shell-history sync between devices.
- mcfly: replaces the usual ctrl-r shell-history search handler with a more powerful tool, super cool.
- tmux, a terminal multiplexer.
- Some people mentioned screen, the classic tool in this space, but noted that it's getting pretty long in the tooth and tmux is a pure improvement.
Quality-Of-Life command line improvements.
- the "ducks" alias.
- The author's own per-project shell history hack
Other collections
- The moreutils collection.
- Terminal Trove, the "$HOME of all things in the terminal".