Rust Easy!现代跨平台命令行工具,助你增强终端功能
最初发表于deepu.tech。
Rust 正在接管终端。Rust 是一种通用编程语言,速度极快,内存安全。它是世界上发展最快、最受欢迎的编程语言。它被用于构建从操作系统到 Web 服务器再到命令行工具的各种应用。最近,大量使用 Rust 编写的命令行工具和实用程序涌现,其中许多旨在取代标准的 Unix 命令。它们比标准的 Unix 命令更快、更用户友好,并且功能更丰富。在本文中,我将介绍一些我最近使用过的最好的 Rust 命令行工具。您也可以使用它们来增强您的终端。
这些工具适用于 GNU/Linux 和 macOS。我尚未在 Windows 上测试过,但大多数工具应该也能在 Windows 上运行。我建议根据你的偏好设置命令别名来替换标准命令。如果你有Rust 软件包管理器Cargo,你可以使用 Cargo 安装所有这些工具。
阿拉克里蒂
让我们从终端本身开始。Alacritty是一个跨平台的现代终端仿真器,具有合理的默认设置。它具有GPU加速,速度超快,并且高度可配置。您可以在 Linux、macOS 和 Windows 上使用它。它没有太多的 UI,因此所有配置都是通过 YAML 文件完成的。我不会将它用作主要终端,因为我太喜欢Yakuake 的所有酷炫功能了。如果确实需要,我们可以使用tmux和tdrop来获得大多数这些功能(选项卡、拆分窗格、下拉模式)。当我需要速度和 GPU 加速时,我会使用 Alacrity。有一个关于将Alacritty 与 tmux 结合使用的出色教程。您还可以将Zellij(一个用 Rust 编写的现代终端多路复用器)与 Alacritty 结合使用。
还有Warp终端,但它不是开源的。它是个很棒的终端,但我更喜欢开源软件。感谢Fran Sancisco 的建议。
安装
# 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 on any
cargo install alacritty
星舰
Starship是我用过的最好的终端提示符。忘掉Oh My Zsh之类的吧。Starship 速度快,高度可定制,并且拥有很棒的默认主题和设置。我甚至没有更改大部分默认设置,因为它本身就很完美。Starship 可以在 zsh、fish 和 bash 等 shell 上运行,也可以与其他提示符(如 Oh My Zsh)一起使用,以防你仍想将 Oh My Zsh 用于其他插件(如自动建议等)。Starship 与Nerd Font配合使用效果最佳,因为它可以根据上下文显示图标和连字。我使用 Oh My Zsh 和powerlevel10k主题已经很多年了,但提示符有点慢。Starship 速度极快,功能更多,用户体验极佳。
安装
# 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是我最喜欢的工具之一。它是 的替代品cat
,一旦你用过bat
,就再也不想用了。它提供语法高亮、行号、Git 更改高亮、显示特殊字符、分页等功能。它速度超快,而且看起来很漂亮。我第一次尝试后就立即将其别名为 。默认情况下,bat 的行为类似于cat
对大量输出进行分页,但可以禁用该功能以使其与 精确地工作。它甚至可以在脚本中用作 的替代品。也可以用作fzf的预览器。它还可以与许多其他命令和工具(如 、 和 等)结合使用,以向输出添加语法高亮。语法高亮主题是可配置的。bat
less
cat
cat
bat
tail
man
git
安装
# 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
LSD和exa都可以替代该ls
命令。它们外观精美,颜色和图标美观,并具有标题、排序、树形视图等功能。Exa 的树形视图速度比 LSD 略快,并且可以显示文件和文件夹的 Git 状态。我更喜欢 exa,因为它支持 Git,树形视图速度也更快。我已将我的ls
别名设置为默认使用 exa。两者都可以配置为显示自定义列和排序行为。
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是该命令的改进版本rm
。它速度更快、更安全、用户友好。rip 会将已删除的文件发送到临时位置,以便使用 恢复rip -u
。我非常喜欢它的简洁性和还原功能,因为我不必担心使用 意外删除文件rm
。虽然 rip 可以替换为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
。它速度更快,并且更加用户友好,具有进度条、并行复制、.gitignore
支持等功能。我喜欢它的简洁性和开发者体验,尤其是进度条。我已将其别名化cp
,xcp
以便可以在任何地方使用它。
安装
# 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'
氧化物
zoxide是一个更智能的cd
替代方案。它会记住你访问过的目录,你无需提供完整路径即可跳转到这些目录。你可以提供部分路径,甚至可以提供路径中的一个单词。当存在相似的路径时,zoxide 会使用fzf提供交互式选择。它速度超快,并且兼容所有主流 Shell。我喜欢它的工作方式,并且我已经为其设置了别名,cd
以便z
可以在任何地方使用它。
安装
# 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是该命令的替代方案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)是一个面向行的搜索工具,它以递归方式在当前目录中搜索符合正则表达式的路径。它比 ripgrep 更快,grep
并且具有许多功能,例如压缩文件搜索、彩色输出、智能大小写、文件类型过滤、多线程等等。它能够识别.gitignore
文件并跳过隐藏和忽略的文件。以下是它与其他类似工具的功能比较,没错,它比列表中的所有其他工具都更快。
安装
# 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
文件等等。我使用了 别名,find
因为fd
我永远记不住要传递哪些选项才能使基本的 find 命令正常工作。
安装
# 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是一个查找和替换 CLI,你可以用它来替代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是一个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是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是一款非常棒的实用程序。它可以检测系统上的大多数软件包管理器并触发更新。它是可配置的,因此您可以将其配置为忽略某些软件包管理器。在我的系统中,它检测到了 pacman、SDKMAN、Flatpak、snap、Homebrew、rustup、Linux 固件、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是一个tree
用户体验更好的替代方案,你可以用它来浏览文件结构。它速度快,并且尊重…… .gitignore
。你可以从树形视图 cd 进入目录,在面板中打开子目录,甚至可以预览文件。它还具有出色的键盘导航功能。它还有很多其他功能。
安装
# 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是一款优秀的代码行数统计工具。它速度快、准确,输出结果也非常出色。它支持超过 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
其他值得注意的工具
- kdash:一个快速简便的 Kubernetes 仪表盘。它由我创建 :)
- Zellij:功能丰富的现代终端多路复用器,附带电池。
- Nushell:一个用 Rust 编写的现代 shell。看起来很有前途。
- xh :性能更佳的 HTTPie 替代品。
- monolith:将任何网页转换为包含所有资产的单个 HTML 文件。
- delta:git、diff 和 grep 输出的语法高亮分页器。
- ripsecrets:在将代码提交给 git 之前,查找其中的密钥。
- eva:CLI REPL 计算器。
- 您可以在此处找到其他 Rust CLI 工具的列表
如果您喜欢这篇文章,请点赞或留言。
文章来源:https://dev.to/deepu105/rust-easy-modern-cross-platform-command-line-tools-to-supercharge-your-terminal-4dd3