diff

diff 显示文本文件中新增与删除的行。-q 只报告是否有差异,-c 0 隐藏上下文。-o <patch> 保存统一格式补丁。

开发版本 1.1.4稳定别名: patch
lil-terminal

概览

安装 diff 也会获得 patch。默认生成独立的 .patched 文件;-o <dst> 指定其他目标,-f 可覆盖该目标。只有 -r 才替换源文件。

应用之前先审查改动

写入前,patch 会验证补丁周围的原文。若补丁属于另一版本,就会拒绝操作。文本文件限制为 4 MiB、20000 行。

语法

lil-terminal
diff <old> <new> [options]

参考

diff <old> <new>

显示带三行上下文的 unified diff

diff <old> <new> -c <lines>

设置 0 到 20 行上下文

diff <old> <new> -q

只报告文件是否不同

diff <old> <new> -o <patch>

把 diff 保存为补丁文件

patch <file> <patch>

把补丁写入 <file>.patched

patch <file> <patch> -o <dst>

把结果写入其他文件

patch <file> <patch> -r

原子替换源文件

patch <file> <patch> -f

允许覆盖已有的非 -r 输出文件

先查看改动

diff 显示文本文件中新增与删除的行。-q 只报告是否有差异,-c 0 隐藏上下文。-o <patch> 保存统一格式补丁。

一个模块,两条命令

安装 diff 也会获得 patch。默认生成独立的 .patched 文件;-o <dst> 指定其他目标,-f 可覆盖该目标。只有 -r 才替换源文件。

上下文校验

写入前,patch 会验证补丁周围的原文。若补丁属于另一版本,就会拒绝操作。文本文件限制为 4 MiB、20000 行。

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

比较两个版本

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install diff
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install diff -m
精确公开版本

安装这个确切的已发布版本。

install diff -v 1.1.4
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade diff
删除模块

删除扩展块,不影响核心和其他模块。

install diff -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

比较两个版本
cd \sandbox | diff workspace/original.txt workspace/updated.txt
--- workspace/original.txt
+++ workspace/updated.txt
@@ -1,3 +1,4 @@
 alpha
-beta
+beta updated
 gamma
+delta
仅显示变动行
diff \sandbox\workspace\original.txt \sandbox\workspace\updated.txt -c 0
--- workspace/original.txt
+++ workspace/updated.txt
@@ -2 +2 @@
-beta
+beta updated
@@ -3,0 +4 @@
+delta
检查是否不同
diff \sandbox\workspace\original.txt \sandbox\workspace\updated.txt -q
Different
保存统一补丁
diff \sandbox\workspace\original.txt \sandbox\workspace\updated.txt -o \sandbox\tmp\workspace.patch
Saved  tmp/workspace.patch
Size   110 B
应用到独立文件
patch \sandbox\workspace\original.txt \sandbox\workspace\change.patch
Source   workspace/original.txt
Patched  workspace/original.txt.patched

patch 由 diff 模块提供,可在不依赖系统 patch 程序的情况下受控地应用 unified diff。

指定输出文件
patch \sandbox\workspace\original.txt \sandbox\workspace\change.patch -o \sandbox\tmp\patched.txt
Source   workspace/original.txt
Patched  tmp/patched.txt

patch 由 diff 模块提供,可在不依赖系统 patch 程序的情况下受控地应用 unified diff。

替换已有输出
patch \sandbox\workspace\original.txt \sandbox\workspace\change.patch -o \sandbox\tmp\current.txt -f
Source   workspace/original.txt
Patched  tmp/current.txt

patch 由 diff 模块提供,可在不依赖系统 patch 程序的情况下受控地应用 unified diff。

明确替换原文件
patch \sandbox\workspace\original.txt \sandbox\workspace\change.patch -r
Source   workspace/original.txt
Patched  workspace/original.txt

patch 由 diff 模块提供,可在不依赖系统 patch 程序的情况下受控地应用 unified diff。

拒绝不匹配补丁
patch \sandbox\workspace\updated.txt \sandbox\workspace\change.patch
Patch deletion mismatch

patch 由 diff 模块提供,可在不依赖系统 patch 程序的情况下受控地应用 unified diff。

检查缺失文件
diff \sandbox\missing.txt \sandbox\workspace\updated.txt
未找到文件
拒绝冲突选项
diff \sandbox\workspace\original.txt \sandbox\workspace\updated.txt -q -o \sandbox\tmp\bad.patch
Choose -q or -o

本示例使用的文件: sandbox/workspace/original.txt

该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。

alpha
beta
gamma

相关文档

当前公开版本

v1.1.42026-11-01

生产级完善

diff 的当前稳定版本。diff 显示文本文件中新增与删除的行。