mac终端diff命令可快速比对文本差异:diff直接对比显示增删行,diff -u生成带上下文的统一格式,diff -q仅返回是否不同。

当你需要快速确认两份配置文件、日志片段或代码草稿之间具体哪几行文字不同时,Mac终端自带的diff命令就能在3秒内输出精准差异,无需安装任何软件。
用diff直接比对两个文本文件
打开“终端”→ 输入diff 文件1路径 文件2路径→ 回车。
例如:diff ~/Desktop/config_old.txt ~/Desktop/config_new.txt。输出中以开头的是第一个文件独有的行,<code>>开头的是第二个文件独有的行,中间夹着---分隔线。这一步操作起来很简单,直接把路径粘贴进去就行。
如果文件内容较长,终端刷屏太快看不清,加| less分页查看:diff a.txt b.txt | less,按空格翻页,按q退出。
用diff -u生成可读性更强的统一格式对比
这是开发者和运维人员最常用的方式,能清晰显示上下文,方便定位修改位置。
第一步:执行diff -u file1 file2,比如diff -u /etc/hosts ~/Downloads/hosts_backup。
第二步:观察输出——每段差异前有@@ -行号,长度 +行号,长度 @@标记,告诉你变动发生在原文件哪几行、新文件哪几行;-开头是删除行,+开头是新增行。
【注意:-u参数必须紧挨diff写,不能写成diff file1 file2 -u,否则会报错】
用diff -q只看是否不同,不显示具体内容
当你只需要一个“是/否”答案,比如脚本中做自动化判断时,这个方法最轻量。
在终端输入diff -q file1 file2后回车。
如果两文件完全一致,终端不会输出任何内容;只要有一处不同,就会显示Files file1 and file2 differ。这个结果可以直接被Shell脚本的if语句捕获。











