上一篇《不仅是快!这几个Rust替代工具的高阶用法带你起飞》我们介绍了fd和rg,它们作为Rust语言重写的命令行工具,已经彻底改变了我的开发体验。今天,我将带大家深入探索更多Rust编写的命令行神器,它们不仅能提升效率,还能让终端体验变得赏心悦目。

一、替代ls的eza:让文件列表变得美丽又实用
ls是Linux/Unix系统中最常用的命令,但默认的ls输出往往单调乏味,信息量有限。eza作为ls的Rust替代品,不仅速度快,还带来了全新的视觉体验。
GitHub地址
https://github.com/eza-community/eza
为什么选择eza?
- 美观的图标:自动为不同类型的文件显示图标(如文件夹、图片、代码文件等)
- 颜色高亮:根据文件类型自动高亮显示
- 信息丰富:显示文件大小、时间、权限等详细信息
- 支持树形结构:
eza -T可以以树状结构展示目录 - 性能提升:比
ls快30%以上
eza vs ls:直观对比
# 传统ls
$ ls -l
total 24
drwxr-xr-x 2 user group 4096 Mar 25 14:20 docs
-rw-r--r-- 1 user group 1024 Mar 25 14:20 README.md
-rwxr-xr-x 1 user group 2048 Mar 25 14:20 script.sh
# eza
$ eza -l
drwxr-xr-x 2 user group 4.0K Mar 25 14:20 docs/
-rw-r--r-- 1 user group 1.0K Mar 25 14:20 README.md
-rwxr-xr-x 1 user group 2.0K Mar 25 14:20 script.sh
高级用法
# 带图标、颜色和详细信息
# 有些linux 终端的文件图标可能无法正常展示
eza -l --icons --color=always
# 长格式 + Git 状态
# 自动忽略 .gitignore 文件中忽略的文件和文件夹
eza --git-ignore
eza --git -l
# 按修改时间排序
eza -l --sort=modified
# 树形结构显示
eza -T
# 树状视图,只展开2层
eza -T --level=2
# 显示所有文件(包括隐藏文件)
eza -a
# 仅显示文件
eza -f
eza --color-scale -l # 文件按大小颜色渐变(超酷)

# -s 排序参数可以指定的排序规则: name, Name, size, extension, Extension, modified, changed, accessed, created, inode, type, none
eza -l -s size -r # 按大小倒序
eza -s size -r # 按大小倒序


别名设置:无缝替换ls、ll、lt、la
# 在~/.bashrc或~/.zshrc中添加
echo "alias ls='eza --git'" >> ~/.bashrc
echo "alias ll='eza -l --git'" >> ~/.bashrc
echo "alias lt='eza -T' --git" >> ~/.bashrc
echo "alias la='eza -la --git'" >> ~/.bashrc
source ~/.bashrc
安装方法
# macOS (Homebrew)
brew install eza
# Ubuntu/Debian
sudo apt install eza
# Windows (Scoop)
scoop install eza
二、替代cd的zoxide:让目录跳转如闪电般迅速
cd命令是日常使用最频繁的命令之一,但传统方式需要输入完整路径。zoxide通过智能记忆最近和最常访问的目录,让你的目录跳转变得极其快速。
GitHub地址
https://github.com/ajeetdsouza/zoxide
为什么选择zoxide?
- 智能记忆:自动记录你最常访问的目录
- 快速跳转:只需输入目录名的一部分,即可跳转
- 支持模糊匹配:即使输入不完整,也能找到匹配项
- 与shell无缝集成:支持bash、zsh、fish等
zoxide vs cd:直观对比
# 传统cd
$ cd /home/user/projects/my_project/src/main/java/com/example
# zoxide
$ z my_project # 只需输入部分名称,即可跳转
高级用法
# 添加到shell配置文件(推荐)
# for zsh
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
# for bash
echo 'eval "$(zoxide init bash)"' >> ~/.bashrc
# 添加当前目录到记录
z . # 或 z -a
# 删除特定目录记录
z -r /path/to/directory
安装方法
# macOS (Homebrew)
brew install zoxide
# Ubuntu/Debian
sudo apt install zoxide
# Windows (Scoop)
scoop install zoxide
三、替代cat的bat:让文件内容阅读变得赏心悦目
cat命令用于显示文件内容,但默认输出没有任何格式,对于代码文件尤其难以阅读。bat是cat的Rust替代品,提供了语法高亮、行号、文件分隔等高级功能。
GitHub地址
https://github.com/sharkdp/bat
为什么选择bat?
- 语法高亮:自动为不同编程语言提供语法高亮
- 行号显示:默认显示行号,方便代码定位
- 文件分隔:多个文件时自动分隔
- 支持分页:配合
less使用,可分页查看大文件 - 性能优异:比
cat更快,尤其在处理大文件时
bat vs cat:直观对比
# 传统cat
$ cat Dockerfile

# bat
$ bat Dockerfile

Ubuntu/Debian安装注意事项
在Ubuntu/Debian上,bat的包名是batcat,需要创建别名:
# 安装batcat
sudo apt install batcat
# 创建别名(推荐)
echo "alias bat='batcat'" >> ~/.bashrc
source ~/.bashrc
高级用法
# 显示行号
bat -n file.txt
# 显示行号和语法高亮
bat -n --theme=ansi file.py
# 按指定主题显示
bat --theme=ansi file.py
# 仅显示文件内容,不显示文件名
bat -f file.py
# 配合less分页查看
bat file.py | less
# 以十六进制显示文件
bat -H file.bin
安装方法
# macOS (Homebrew)
brew install bat
# Ubuntu/Debian
sudo apt install batcat
echo "alias bat='batcat'" >> ~/.bashrc && source ~/.bashrc
# Windows (Scoop)
scoop install bat
四、Rust命令行工具的终极组合:让终端体验全面升级
将这些Rust命令行工具组合使用,可以创建一个高效、美观、易用的终端环境:
# 查找并打开文件(用eza查看,用bat打开)
eza -l | grep "main"
bat main.py
# 快速跳转到项目目录
z my_project
# 搜索代码中的TODO
fd -e py | xargs rg TODO
五、安装建议:一键配置你的高效终端
为了让你快速体验这些工具,我整理了一个一键配置脚本:
# macOS
brew install fd ripgrep eza bat zoxide
echo 'eval "$(zoxide init bash)"' >> ~/.bashrc
source ~/.bashrc
# Ubuntu/Debian
sudo apt install fd-find ripgrep eza batcat zoxide
echo "alias bat='batcat'" >> ~/.bashrc
echo "alias fd=fd-find" >> ~/.bashrc
echo "alias rg=ripgrep" >> ~/.bashrc
echo 'eval "$(zoxide init bash)"' >> ~/.bashrc
source ~/.bashrc
重要提示:
- macOS用户:确保已安装Homebrew,且使用
bash或zsh作为默认shell- Ubuntu/Debian用户:
batcat是实际安装包名,别名bat已自动配置zoxide初始化命令已包含在脚本中,无需额外操作
结语
从fd和rg,到eza、zoxide和bat,Rust编写的命令行工具正在彻底改变我们与终端的交互方式。它们不仅速度快,而且设计精良,让我们的日常工作变得更加高效和愉悦。
在技术快速迭代的今天,拥抱这些现代工具,就是拥抱更高效的工作方式。不要被传统命令行的"习惯"束缚,尝试这些Rust工具,你会发现终端体验的质的飞跃。
你最喜欢哪个Rust命令行工具?在评论区分享你的使用体验吧!如果觉得这篇文章对你有帮助,别忘了点赞、转发,让更多开发者体验到这些效率神器。
Q.E.D.


