diff命令用于快速比对两个文件的行级差异,基础用法为diff file1 file2,输出以a/d/c标记增删改;加-q参数可静默判断是否相同;搭配colordiff、sdiff或meld可分别实现彩色高亮、并排交互合并及图形化双向同步。

麒麟系统中需要快速确认两个配置文件、日志片段或代码版本是否一致,又不想逐行肉眼比对时,必须用命令行工具精准定位差异位置和类型,避免遗漏关键修改。
用diff命令查看基础行级差异
这是最轻量、无需安装的默认方案,适合快速判断“哪里不一样”。
执行diff file1.txt file2.txt,终端直接输出以a(add)、d(delete)、c(change)标记的差异块。
若只关心“是否相同”,加-q参数:diff -q file1.txt file2.txt,相同则无声,不同才提示“Files file1.txt and file2.txt differ”。
【注意:默认输出格式不易读,尤其当差异分散在多处时,容易漏看上下文】
用colordiff让差异一目了然
如果你已安装colordiff(应用市场可搜,或sudo apt install colordiff),它会把新增行标成绿色、删除行标成红色、修改行用黄底高亮,视觉上立刻抓住重点。
方法一:直接替换diff调用——colordiff file1.txt file2.txt。
方法二:设置别名永久生效——echo "alias diff='colordiff'" >> ~/.bashrc && source ~/.bashrc,之后所有diff命令自动带颜色。
这一步操作起来很简单,但首次运行前务必确认colordiff已正确安装,否则会报command not found。
用sdiff并排对比并交互合并
当你不仅要看差异,还要决定保留哪边内容、甚至现场合并时,sdiff是唯一能边看边选的命令。
第一步:运行sdiff -o merged.txt file1.txt file2.txt。
第二步:每组差异行左右并列显示,中间用|分隔;光标所在行按l取左、r取右、e编辑该行、q退出。
第三步:按q退出后,merged.txt即为最终选定内容生成的文件。
【此操作会直接覆盖merged.txt,且不备份原文件】
用meld进行图形化双向同步比较
面对复杂文本(如含缩进的脚本、嵌套结构的JSON)、或需同时打开多个文件对齐查看时,图形界面更直观可靠。
在应用市场搜索“meld”安装,启动后点击“比较文件”,选择file1.txt和file2.txt。
左侧显示file1内容,右侧显示file2内容,差异行高亮染色,双击某行可一键同步到另一边。
支持鼠标拖拽调整窗口宽度,也支持Ctrl+F全局搜索关键词,比终端滚动翻找快得多。

















