前言
现在很多人都在用 Rust 写终端工具,有不少用 Rust 写的命令行工具出来了,这些工具比老旧的 Unix 命令要快得多,也更容易用。
这些工具不仅能在 GNU/Linux 上用,也适合 macOS。虽然我没在 Windows 上试过,但大多数工具应该也能在 Windows 上运行。如果你装了 Cargo(Rust 的包管理器),你可以用它来安装这些工具。
Alacritty
先说说终端。Alacritty 是一个很快的终端工具,支持 GPU 加速。虽然它的界面简单,但是配置很方便。如果你需要一个快速的终端,Alacritty 是个不错的选择。你还可以试试 Zellij,这是一个现代的终端复用器,能和 Alacritty 一起用。
当然了,还有 Warp 终端,但可惜它不是开源的,虽然挺强大的。
安装
# Arch Linux
yay -S alacritty
# Fedora/CentOS
dnf copr enable atim/alacritty
dnf install alacritty
# Debian/Ubuntu
add-apt-repository ppa:aslatter/ppa
apt install alacritty
# macOS Homebrew
brew install --cask alacritty
# Windows Scoop
scoop bucket add extras
scoop install alacritty
# Cargo
cargo install alacritty
Starship
Starship 是一个终端提示工具。我觉得它比 Oh My Zsh 要好用。Starship 性能好,配置也很简单,几乎不用改就能用。如果你用 zsh、fish 或 bash,Starship 都能用。它的图标和提示信息很有用,尤其是配合 Nerd Font 使用效果最好。
安装
# Arch Linux
yay -S starship
# Fedora/CentOS
dnf install starship
# Debian/Ubuntu
curl -sS https://starship.rs/install.sh | sh
# macOS/Linux Homebrew
brew install starship
# macOS MacPorts
port install starship
# Windows Scoop
scoop install starship
# Cargo
cargo install starship --locked
Bat
bat 是一个比 cat 更好用的工具。它有语法高亮、行号、Git 变更高亮等功能。用过 bat 后,你会觉得 cat 太基础了。bat 还支持 fzf 预览和其他命令配合使用。
# Arch Linux
yay -S bat
# Fedora/CentOS
dnf install bat
# Debian/Ubuntu
apt install bat
# macOS/Linux Homebrew
brew install bat
# macOS MacPorts
port install bat
# Windows Scoop
scoop install bat
# Cargo
cargo install bat --locked
Lsd 和 Exa
Exa 和 LSD 是 ls 命令的替代品。它们有漂亮的颜色和图标,还能显示文件和文件夹的 Git 状态。Exa 在树状视图上比 LSD 快点,我更喜欢 Exa。你可以设置 ls
的别名用 Exa 或 LSD。
exa 安装
# Arch Linux
yay -S exa
# Fedora/CentOS
dnf install exa
# Debian/Ubuntu
apt install exa
# macOS Homebrew
brew install exa
# Cargo
cargo install exa
# Alias ls to exa
alias ls='exa --git --icons --color=always --group-directories-first'
lsd 安装
# Arch Linux
yay -S lsd
# Fedora/CentOS
dnf install lsd
# Debian/Ubuntu
dpkg -i lsd_0.23.1_amd64.deb # get .deb file from https://github.com/Peltoche/lsd/releases
# macOS Homebrew
brew install lsd
# macOS MacPorts
port install lsd
# Windows Scoop
scop install lsd
# Cargo
cargo install lsd
# Alias ls to lsd
alias ls='lsd --header --color=always --group-directories-first'
Rip
rip 是 rm
命令的改进版。它比 rm
更快、更安全,而且可以恢复删除的文件。虽然可以用别名替换 rm
,但最好还是小心使用。
安装
# Arch Linux
yay -S rm-improved
# Fedora/CentOS/Debian/Ubuntu
# Install from binary or build locally using Cargo
# macOS Homebrew
brew install rm-improved
# Cargo
cargo install rm-improved
Xcp
xcp 是 cp
命令的改进版。它支持进度条、并行复制等功能。我特别喜欢它的进度条功能。
安装
# Arch Linux
yay -S xcp
# Fedora/CentOS/Debian/Ubuntu/macOS
# Install from binary or build locally using Cargo
# Cargo
cargo install xcp
# Alias cp to xcp
alias cp='xcp'
![](/Users/sora/Library/Application Support/typora-user-images/image-20240828103726780.png)
Zoxide
zoxide 是一个更智能的 cd
命令替代品。它记住你访问过的目录,支持部分路径跳转,还能用 fzf 进行目录选择。
# Arch Linux
yay -S zoxide
# Fedora/CentOS
dnf install zoxide
# Debian/Ubuntu
apt install zoxide
# macOS/Linux Homebrew
brew install zoxide
# macOS MacPorts
port install zoxide
# Windows Scoop
scoop install zoxide
# Cargo
cargo install zoxide --locked
安装后,你需要在 shell 配置文件中添加相应的初始化代码。不同的 shell 配置不同,具体参考 文档。
# bash (~/.bashrc)
eval "$(zoxide init bash)"
# zsh (~/.zshrc)
eval "$(zoxide init zsh)"
# fish (~/.config/fish/config.fish)
zoxide init fish | source
# Alias cd to z
alias cd='z'
Dust
Dust 是 du
命令的替代品。它提供了更好的磁盘使用情况可视化,非常快。
安装
# Arch Linux
yay -S dust
# Fedora/CentOS
# Install binary from https://github.com/bootandy/dust/releases
# Debian/Ubuntu
deb-get install du-dust
# macOS Homebrew
brew install dust
# macOS MacPorts
port install dust
# Windows Scoop
scoop install dust
# Cargo
cargo install du-dust
Ripgrep
ripgrep(rg)是一个比 grep 更快的搜索工具。它支持正则表达式、文件类型过滤、多线程等。
安装
# Arch Linux
yay -S ripgrep
# Fedora/CentOS
dnf install ripgrep
# Debian/Ubuntu
apt-get install ripgrep
# macOS/Linux Homebrew
brew install ripgrep
# macOS MacPorts
port install ripgrep
# Windows Scoop
scoop install ripgrep
# Cargo
cargo install ripgrep
Fd
fd 是 find 的简化替代品。使用起来更直观,具有明智的默认设置。由于并行遍历,它非常快,显示现代的彩色输出,支持模式和正则表达式、并行命令、智能大小写、解析 .gitignore 文件等。
安装
# Arch Linux
yay -S fd
# Fedora/CentOS
dnf install fd-find
# Debian/Ubuntu
apt install fd-find
# macOS Homebrew
brew install fd
# macOS MacPorts
port install fd
# Windows Scoop
scoop install fd
# Cargo
cargo install fd-find
Sd
sd 是一个查找和替换的命令行工具,可以用作 sed
和 awk
的替代品。它更加对用户友好和现代化。同时它比 sed 快得多。
# Arch Linux
yay -S sd
# Fedora/CentOS
dnf install sd
# Debian/Ubuntu
# Install binary from the release page
# macOS Homebrew
brew install sd
# Windows Scoop
choco install sd-cli
# Cargo
cargo install sd
Procs
procs 是 ps
的替代品。亮点是它提供可读性的输出,多列搜索,比 ps
提供更多的信息,对 docker 支持,分页,观察模式和树状视图。它是比 ps
更对用户友好和现代化的替代品。你可以按名称和 PID 进行过滤,并使用逻辑与/或运算符组合多个过滤器。它还有一个对于查看进程层次结构非常有用的树状视图。它还可以显示运行 docker 容器的进程的 docker 容器名称。
安装
# Arch Linux
yay -S procs
# Fedora/CentOS
dnf install procs
# Debian/Ubuntu
# Install binary from the release page
# macOS Homebrew
brew install procs
# macOS MacPorts
port install procs
# Windows Scoop
scoop install procs
# Cargo
cargo install procs
Bottom
bottom 是 top
的替代品,具有漂亮的终端 UI。它功能丰富且可定制。
安装
# Arch Linux
yay -S bottom
# Fedora/CentOS
dnf copr enable atim/bottom -y
dnf install bottom
# Debian/Ubuntu
dpkg -i bottom_0.6.8_amd64.deb
# macOS Homebrew
brew install bottom
# macOS MacPorts
port install bottom
# Windows Scoop
scoop install bottom
# Cargo
cargo install bottom --locked
Topgrade
Topgrade 是一个很棒的实用程序,如果你像我一样喜欢折腾操作系统,那就太适合了。它会检测系统上的大多数软件包管理器并及时进行更新。它支持配置,因此你可以配置它忽略某些软件包管理器。在我的系统上,它检测到了 apt-get, homebrew, pip 等。Topgrade 也支持跨平台,可以在 Windows、macOS 和 Linux 上使用。
安装
# Arch Linux
yay -S topgrade
# Fedora/CentOS/Debian/Ubuntu/Windows
# Install binary from the release page
# macOS Homebrew
brew install topgrade
# macOS MacPorts
port install topgrade
# Cargo
cargo install topgrade --locked
Broot
Broot 是 tree
命令的替代品,具有更好的用户体验,你可以使用它导航文件结构。它支持解析 .gitignore。你可以从树状视图中切换到一个目录,以面板形式打开子目录,甚至预览文件。它具有出色的键盘导航功能。它还有许多其他功能。
安装
# Arch Linux
yay -S broot
# Fedora/CentOS/Debian/Ubuntu/Windows
# Install binary from release page https://dystroy.org/broot/install/
# macOS Homebrew
brew install broot
# macOS MacPorts
port install broot
# Cargo
cargo install broot --locked
Tokei
Tokei 是一个很好的计算代码行数和统计信息的工具。它非常快速、准确,并且具有漂亮的输出。它支持超过150种语言,并可以以 JSON、YAML、CBOR 和人类可读的表格形式输出。
安装
# Arch Linux
yay -S tokei
# Fedora/CentOS
dnf install tokei
# Debian/Ubuntu
# Install binary from the release page
# macOS Homebrew
brew install tokei
# macOS MacPorts
port install tokei
# Windows Scoop
scoop install tokei
# Cargo
cargo install tokei
其他一些 Rust CLI 工具列表:
- Nushell:用 Rust 写的现代 Shell
- kdash:一个快速简单的 Kubernetes 仪表板
- xh:HTTPie 的替代品,性能更好
- monolith:将任何网页转换为单个 HTML 文件并内联所有资源文件(如样式、脚本)
- delta:用于 git、diff 和 grep 输出的语法高亮分页器
- ripsecrets:在提交到 git 之前查找代码中的密钥
- eva:一个CLI REPL计算器