近些年来有一些开源的现代命令行工具,主要用于取代同样或者类似功能的传统工具,也出现了一些新型的命令行工具。这些工具的共性是大部分是用rust
语言编写的。我主是基于Mac OS下在使用这些工具。
终端
Alacritty 可以取代 iTerm2,Zellij 可以取代 tmux
和screen
。fish可以取代 zsh
或 bash
,Fish官网声称它是90后年轻人的shell,fish
自然要搭配 oh-my-fish
使用才行。
brew install --cask alacritty
brew install fish zellij
编辑器
Neovim 可取代 vi
和 vim
,需要配套安装 Lazyvim,才能更好发挥它的作用。我还是 Emacs 的用户,不过这算是图形界面的工具了,很少会在命令行下使用它,而 nvim
则基本都是在终端下启动和使用的。
brew install nvim
git clone https://github.com/LazyVim/starter ~/.config/nvim
文档
tldr 和 cheat 目标都是用简短的命令行示例取代冗长manpages
文档。两者对比而言,tldr
内容十分丰富,社区贡献活跃,比 cheat
好用很多。
现代版
常见命令行工具的现代版,一般是用rust
或go
语言重写的加强版,大部分用的rust
语言:
ls
:eza
,exa
,lsd
cd
:zoxide
cat
:bat
cut
:choose
(choose-rust
)grep
:ripgrep
,ag
sed
:sd
find
:fd
du
:dust
df
:duf
top
:btop
,bottom
,glances
,gtop
,zenith
diff
:difftastic
hexdump
:hexyl
ping
:gping
ps
:procs
curl
:curlie
dig
:doggo
新工具
以下这些项目的目的不是替换传统的旧工具,而是新类型的命令行工具。
jq
:sed
for JSONfzf
: fuzzy finderdelta
: syntax-highlighting pager (git-delta
)atuin
: magical shell historymoreutils
: 一系列的新工具。其中vidir
非常好用,使用文本编辑器 进行批量重命名文件和删除文件等操作。lazygit
,lazydocker
: TUI forgit
anddocker