文章目录
- [modern-unix:用现代工具替换那些老旧的 Unix 命令](#modern-unix:用现代工具替换那些老旧的 Unix 命令)
modern-unix:用现代工具替换那些老旧的 Unix 命令
在终端里敲了这么多年命令,cat、ls、grep、find 这些工具一直都在,能用,但体验谈不上好。modern-unix 这个仓库收集了一批现代替代品,GitHub 上拿到了 32,939 个 Star。


这些工具不是从零造轮子,大多用 Rust 写的,针对原版的痛点做了改进。下面挑几个有代表性的说说。
文件查看:bat 替代 cat
bat 是 cat 的替代品,加了语法高亮和 Git 集成。查看代码文件的时候不用再单独开编辑器,终端里直接就能看到带颜色高亮的内容,还能显示行号和 Git 变更标记。
目录列表:eza 和 lsd 替代 ls
ls 命令的输出信息比较朴素。eza 继承自 exa,支持颜色分类、Git 状态显示、树形结构等特性。lsd 功能类似,保持了和 ls 的向后兼容,切换成本低。
搜索:ripgrep 替代 grep,fd 替代 find
ripgrep 搜索速度比 grep 快很多,而且自动遵守 .gitignore 规则,不会把无关文件混进搜索结果。fd 是 find 的替代品,语法更直觉,默认忽略隐藏文件和 gitignore 里的文件。
差异查看:delta 替代 diff
delta 对 git diff 的输出做了格式优化,支持语法高亮、行号显示、并排对比,看代码变更比默认的 diff 输出清楚得多。
磁盘和系统监控:dust、duf、bottom、glances
duf 替代 df,用表格形式展示磁盘使用情况,比 df 的输出易读。dust 替代 duf(不是上面那个 duf,是 GNU 的 du),用可视化的方式展示目录占用空间。bottom 和 glances 是系统监控工具,替代 top/htop,提供了更丰富的终端图形界面。
其他实用工具
fzf 是模糊搜索工具,能用在各种场景里,命令历史、文件选择、进程查找都能用上。zoxide 替代 cd,会根据使用频率智能跳转目录。jq 处理 JSON 数据,相当于 JSON 版的 sed。sd 替代 sed 做文本替换,语法更直觉。hyperfine 是命令行基准测试工具,能量化对比不同命令的执行效率。lazygit 把常用 Git 操作做成了终端交互界面,不用记那么多命令参数。
这些工具各自独立安装,不需要一次性全换。根据自己日常用到的命令,挑几个装上试试,用习惯了再逐步替换。大部分工具都能通过包管理器直接安装,比如 brew install bat 或 apt install ripgrep。
stall bat或apt install ripgrep`。