TranslateProject/sources/tech/20220412 A list of new(ish) command line tools.md
2022-04-14 11:00:37 +08:00

189 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: 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: "geekpi"
[#]: 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 hadnt heard of, so I thought Id 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 arent “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). theres 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 arent 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`.
Im 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