diff --git a/sources/tech/20220412 A list of new(ish) command line tools.md b/sources/tech/20220412 A list of new(ish) command line tools.md new file mode 100644 index 0000000000..4526ff2aa8 --- /dev/null +++ b/sources/tech/20220412 A list of new(ish) command line tools.md @@ -0,0 +1,188 @@ +[#]: subject: "A list of new(ish) command line tools" +[#]: via: "https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/" +[#]: author: "Julia Evans https://jvns.ca/" +[#]: collector: "lujun9972" +[#]: translator: " " +[#]: reviewer: " " +[#]: publisher: " " +[#]: url: " " + +A list of new(ish) command line tools +====== + +Hello! Today I asked [on twitter][1] about newer command line tools, like `ripgrep` and `fd` and `fzf` and `exa` and `bat`. + +I got a bunch of replies with tools I hadn’t heard of, so I thought I’d make a list here. A lot of people also pointed at the [modern-unix][2] list. + +### replacements for standard tools + + * [ripgrep][3], [ag][4], [ack][5] (grep) + * [exa][6], [lsd][7] (ls) + * [mosh][8] (ssh) + * [bat][9] (cat) + * [delta][10] (a pager for git) + * [fd][11] (find) + * [drill][12], [dog][13] (dig) + * [duf][14] (df) + * [dust][15], ncdu (du) + * [pgcli][16] (psql) + * [btm][17], [btop][18], [glances][19], [gtop][20], [zenith][21] (top) + * [tldr][22] (man, sort of) + * [sd][23] (sed) + * [difftastic][24] (diff) + * mtr (traceroute) + * [plocate][25] (locate) + * xxd, [hexyl][26] (hexdump) + + + +### new inventions + +Here are some tools that are not exactly replacements for standard tools: + + * [z][27], [fasd][28], [autojump][29], [zoxide][30] (tools to make it easier to find files / change directories) + * [broot][31], [nnn][32], [ranger][33] (file manager) + * [direnv][34] (load environment variables depending on the current directory) + * [fzf][35], [peco][36] (“fuzzy finder”) + * [croc][37] and [magic-wormhole][38] (send files from one computer to another) + * [hyperfine][39] (benchmarking) + * [httpie][40], [curlie][41], [xh][42] (for making HTTP requests) + * [entr][43] (run arbitrary commands when files change) + * [asdf][44] (version manager for multiple languages) + * [tig][45], [lazygit][46] (interactive interfaces for git) + * [lazydocker][47] (interactive interface for docker) + * [choose][48] (the basics of awk/cut) + * [ctop][49] (top for containers) + * [fuck][50] (autocorrect command line errors) + * [tmate][51] (share your terminal with a friend) + * [lnav][52], [angle-grinder][53] (tools for managing logs) + * [mdp][54], [glow][55] (ways to display markdown in the terminal) + * pbcopy/pbpaste (for clipboard <> stdin/stdout) maybe aren’t “new” but were mentioned a lot. You can [use xclip][56] to do the same thing on Linux. + + + +**JSON/YAML/CSV things:** + + * [jq][57] (a great JSON-wrangling tool) + * [jc][58] (convert various tools’ output into JSON) + * [jo][59] (create JSON objects) + * [yq][60] (like `jq`, but for YAML). there’s also [another yq][61] + * [fq][62] (like `jq`, but for binary) + * [htmlq][63] (like `jq`, but for HTML) + * [fx][64] (interactive json tool) + * [jless][65] (json pager) + * [xsv][66] (a command line tool for csv files, from burntsushi) + * [visidata][67] (“an interactive multitool for tabular data”) + * [miller][68] (“like awk/sed/cut/join/sort for CSV/TSV/JSON/JSON lines”) + + + +**grep things:** + + * [pdfgrep][69] (grep for PDF) + * [gron][70] (make JSON greppable) + * [ripgrep-all][71] (ripgrep, but also PDF, zip, ebooks, etc) + + + +### less-new tools + +Here are a few of not-so-new tools folks mentioned aren’t that well known: + + * pv (“pipe viewer”, gives you a progress bar for a pipe) + * vidir (from [moreutils][72], lets you batch rename/delete files in vim) + * sponge, ts, parallel (also from moreutils) + + + +### some of my favourites + +My favourites of these that I use already are `entr`, `ripgrep`, `git-delta`, `httpie`, `plocate`, and `jq`. + +I’m interested in trying out `direnv`, `btm`, `z`, `xsv`, and `duf`, but I think the most exciting tool I learned about is `vidir`. + +-------------------------------------------------------------------------------- + +via: https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/ + +作者:[Julia Evans][a] +选题:[lujun9972][b] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 + +[a]: https://jvns.ca/ +[b]: https://github.com/lujun9972 +[1]: https://twitter.com/b0rk/status/1513903221466664962 +[2]: https://github.com/ibraheemdev/modern-unix +[3]: https://github.com/BurntSushi/ripgrep/ +[4]: https://github.com/ggreer/the_silver_searcher +[5]: https://github.com/beyondgrep/ack3 +[6]: https://github.com/ogham/exa +[7]: https://github.com/Peltoche/lsd +[8]: https://mosh.org/ +[9]: https://github.com/sharkdp/bat +[10]: https://github.com/dandavison/delta +[11]: https://github.com/sharkdp/fd +[12]: https://www.nlnetlabs.nl/projects/ldns/about/ +[13]: https://github.com/ogham/dog +[14]: https://github.com/muesli/duf +[15]: https://github.com/bootandy/dust +[16]: https://www.pgcli.com/ +[17]: https://github.com/ClementTsang/bottom +[18]: https://github.com/aristocratos/btop +[19]: https://github.com/nicolargo/glances +[20]: https://github.com/aksakalli/gtop +[21]: https://github.com/bvaisvil/zenith +[22]: https://tldr.sh/ +[23]: https://github.com/chmln/sd +[24]: https://github.com/Wilfred/difftastic +[25]: https://plocate.sesse.net/ +[26]: https://github.com/sharkdp/hexyl +[27]: https://github.com/rupa/z +[28]: https://github.com/clvv/fasd +[29]: https://github.com/wting/autojump +[30]: https://github.com/ajeetdsouza/zoxide +[31]: https://github.com/Canop/broot +[32]: https://github.com/jarun/nnn +[33]: https://github.com/ranger/ranger +[34]: https://github.com/direnv/direnv +[35]: https://github.com/junegunn/fzf +[36]: https://github.com/peco/peco +[37]: https://github.com/schollz/croc +[38]: https://github.com/magic-wormhole/magic-wormhole +[39]: https://github.com/sharkdp/hyperfine +[40]: https://httpie.io/ +[41]: https://github.com/rs/curlie +[42]: https://github.com/ducaale/xh +[43]: https://github.com/eradman/entr +[44]: https://github.com/asdf-vm/asdf +[45]: https://github.com/jonas/tig +[46]: https://github.com/jesseduffield/lazygit +[47]: https://github.com/jesseduffield/lazydocker +[48]: https://github.com/theryangeary/choose +[49]: https://github.com/bcicen/ctop +[50]: https://github.com/nvbn/thefuck +[51]: https://tmate.io/ +[52]: https://github.com/tstack/lnav +[53]: https://github.com/rcoh/angle-grinder +[54]: https://github.com/visit1985/mdp +[55]: https://github.com/charmbracelet/glow +[56]: https://stackoverflow.com/questions/5130968/how-can-i-copy-the-output-of-a-command-directly-into-my-clipboard/41843618#41843618 +[57]: https://stedolan.github.io/jq/ +[58]: https://github.com/kellyjonbrazil/jc +[59]: https://github.com/jpmens/jo +[60]: https://github.com/mikefarah/yq +[61]: https://github.com/kislyuk/yq +[62]: https://github.com/wader/fq +[63]: https://github.com/mgdm/htmlq +[64]: https://github.com/antonmedv/fx +[65]: https://github.com/PaulJuliusMartinez/jless +[66]: https://github.com/BurntSushi/xsv +[67]: https://www.visidata.org/ +[68]: https://github.com/johnkerl/miller +[69]: https://pdfgrep.org/ +[70]: https://github.com/tomnomnom/gron +[71]: https://github.com/phiresky/ripgrep-all +[72]: https://joeyh.name/code/moreutils