mirror of
https://github.com/mhoye/moderntools.git
synced 2024-12-25 21:58:43 +01:00
Mirror of https://github.com/mhoye/moderntools.git
README.md |
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
- There are enough new takes on the venerable top command that they're probably going to need their own category soon.
- 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.
- hwatch and viddy, two alternatives to the venerable and underappreciated "watch" command.
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".