大家好,我是攻城狮成长日记的狮兄。
作为程序员,我们每天都在和代码、配置、日志死磕。开发环境和生产环境配置不一致、代码merge前快速 review、部署前检查文件改动……这些场景下,diff 命令几乎是标配。
但原生 diff 的输出真的“朴素”到让人头疼——尤其是文件上百行的时候,密密麻麻的 + - 符号,看得眼睛发酸,效率也低。
今天给大家推荐一款颜值与实力兼具的终端神器:icdiff(Improved Colored Diff)。用过之后,你会发现文件对比这件事终于可以“舒服”起来了。

icdiff 到底强在哪里?
一句总结:它把普通的diff变成了美观、清晰、彩色的并排对比。
简单示例:
icdiff config-dev.ini config-prod.ini

效果特点:
- 左右并排显示两个文件,结构一目了然
- 差异部分用红色和绿色高亮标注
- 相同内容保持低调显示,极大减少视觉干扰
- 自动适配终端宽度,支持宽屏,阅读体验极佳
对比原生命令:
diff -u:单列上下文,改动多时很难定位

diff --side-by-side:虽然并排,但没有颜色,依然费眼

- icdiff:直接把可读性拉满,效率和舒适度双提升

很多狮友反馈,用了 icdiff 后,配置排查时间至少减少 50%。
安装(三分钟搞定)
Ubuntu/Debian:
sudo apt update && sudo apt install icdiff -y

CentOS/RHEL/Fedora:
sudo dnf install icdiff # 或 yum install icdiff
macOS:
brew install icdiff
pip 通用安装(推荐):
pip install icdiff
安装完成后直接敲 icdiff 测试即可,无需额外配置,开箱即用。
实用进阶用法(干货)
- 显示行号 + 高亮
icdiff -N file1 file2

-
递归对比整个目录
icdiff -r dir1/ dir2/ -
与 Git 深度集成(重度推荐)
在
~/.gitconfig中加入:[difftool "icdiff"] cmd = icdiff --line-numbers "$LOCAL" "$REMOTE" [diff] tool = icdiff之后执行
git difftool就能享受到彩色并排对比,代码 Review 体验直接起飞。
真实工作场景推荐
- 开发/测试/生产 三套配置文件快速比对
Nginx、Redis、MySQL等服务配置漂移排查- 代码提交前自查改动点
- 部署脚本安全审计(防止被恶意篡改)
- 日志文件版本对比定位问题
在高频配置管理的运维和后端开发工作中,icdiff几乎成了我每天必备的效率工具。
和其他工具怎么选?
- vimdiff:功能最强,但需要 Vim 基础,适合重度 Vim 用户
- meld:图形界面,适合本地开发机
- delta:Git 专用彩色 diff,极致漂亮
- icdiff:终端轻量、通用性最强、零学习成本,是大多数狮友的最佳选择
如果你主要在SSH远程服务器上工作,icdiff几乎是性价比最高的那一个。
写在最后
好工具不一定复杂,icdiff就是那种“装上就能立刻爽”的类型。把日常最常用的文件对比升级一下,不仅效率提升,眼睛也舒服多了。
现在就去安装试试,下次对比配置时用
icdiff,你一定会爱上它。
你在工作中最常对比哪些类型的文件?欢迎留言区分享你的用法和场景,我会挑选优质回复置顶互动。
如果你觉得这篇干货有用,点赞 + 在看 + 转发是对我继续输出高质量内容的最大支持!
攻城狮成长日记 —— 每天一点进步,持续积累复利。
我们下期见!