diff - 找
出 两 个 文 件 的
不 同 点
diff
[选 项 ] 源 文 件 目
标 文 件
在 最 简
单 的 情 况 是 , diff
比 较 两 个 文 件
的 内 容 ( 源 文
件 和 目 标 文 件
) . 文 件 名 可 以
是 - 由 标 准 输
入 设 备 读 入 的
文 本 . 作 为 特 别
的 情 况 是 , diff - -
比 较 一 份 标 准
输 入 的 它 自 己
的 拷 贝 如 果 源
文 件 是 一 个 目
录 和 目 标 文 件
不 是 ( 目 录 ) ,
diff 会 比 较 在 源
文 件 ( 目 录 )
里 的 文 件 的 中
和 目 标 文 件 同
名 的 ( 文 件 ) ,
反 过 来 也 一 样 .
非 目 录 文 件 不
能 是 -. 如 果 源
文 件 和 目 标 文
件 都 是 目 录 ,
diff 比 较 两 个 目
录 中 相 应 的 文
件 , 依 照 字 母
次 序 排 序 ; 这
个 比 较 是 不 会
递 归 的 , 除 非
给 出 -r 或 者
--recursive. diff 不 把 一
个 目 录 的 内 容
看 为 它 是 一 个
文 件 来 比 较 。
被 指 定 的 文 件
不 能 是 标 准 的
输 入 , 因 为 标 准
的 输 入 是 无 名
的 并 且 " 有 一
样 的 名 字 的 文
件 " 的 观 点 不
适 用 。 diff 的 选
项 由 -, 开 始 所
以 正 常 地 源 文
件 ( 名 ) 和 目
标 文 件 ( 名 )
不 可 以 用 - 开
头 . 然 而 , -- 可 以
被 它 视 为 保 留
的 即 使 作 为 文
件 名 的 开 头 ( they
begin with -.) 选 项
下 面 是 GNU所 接 受
的 diff 的 所 有 选
项 的 概 要 . 大 多
数 的 选 项 有 两
个 相 同 的 名 字
,一 个 是 单 个 的
跟 在 - 后 面 字
母 , 另 一 个 是 由
-- 引 出 的 长 名
字 . 多 个 单 字 母
选 项 ( 除 非 它
们 产 生 歧 义 )
能 够 组 合 为 单
行 的 命 令 行 语
法 -ac 是 等 同 于
-a -c. 长 命 名 的 选
项 能 被 缩 短 到
他 们 的 名 字 的
任 何 唯 一 的 前
缀 . 用 ([ 和 ]) 括
起 来 显 示 选 项
产 生 歧 义 的 选
项
-行 数
( 一 个 整 数 )
显 示 上 下 文 行
数 (一 个 整 数 ).
这 个 选 项 自 身
没 有 指 定 输 出
格 式 , 这 是 没
有 效 果 的 , 除
非 和 -c 或 者 -u
组 合 使 用 . 这 是
已 废 置 的 选 项
, 对 于 正 确 的
操 作 , 上 下 文 至
少 要 有 两 行 。
|
-a 所 有 的 文 件
都 视 为 文 本 文
件 来 逐 行 比 较
, 甚 至 他 们 似
乎 不 是 文 本 文
件
. |
|
-b 忽 略 空 格 引
起 的 变 化 |
.
|
-B 忽 略
插 入 删 除 空 行
引 起 的 变 化 |
|
. |
|
--brief 仅
报 告 文 件 是 否
相 异 ,在 乎 差 别
的 细 节 .
-C 行 数
( 一 个 整 数 )
--context[=lines] 使 用
上 下 文 输 出 格
式 , 显 示 以 指
定 行 数 (一 个
整 数 ), 或 者 是 三
行 ( 当 行 数 没
有 给 出 时 . 对 于
正 确 的 操 作 , 上
下 文 至 少 要 有
两 行 .
--changed-group-format=format 使 用
format 输 出 一 组 包
含 两 个 文 件 的
不 同 处 的 行 ,
其 格 式 是 if-then-else .
|
-d 改 变 算 法 也
许 发 现 变 化 的
一 个 更 小 的 集
合 |
|
.这 会 使 diff 变
慢 (有 时 更 |
慢 ).
-D name 合
并 if-then-else 格 式 输 出 ,
预 处 理 宏 ( 由
name参 数 提 供 ) 条
件 .
|
-e |
|
|
|
|
--ed 输 出 为 一 个
有 效 的 |
|
ed 脚 本 . |
|
--exclude=pattern
比 较 目 录 的 时
候 , 忽 略 和 目
录 中 与 pattern( 样
式 ) 相 配 的 .
--exclude-from=file 比 较 目
录 的 时 候 , 忽
略 和 目 录 中 与
任 何 包 含 在
file( 文 件 ) 的
样 式 相 配 的 文
件 和 目 录 .
--expand-tabs 在 输 出 时
扩 展 tab为 空 格 ,
保 护 输 入 文 件
的 tab对 齐 方 式
|
-f 产 生 一 个 很
象 |
|
ed 脚 本 的 输 出
, 但 是 但 是 在
他 们 在 文 件 出
现 的 顺 序 有 改
变 |
-F regexp
在 上 下 文 和 统
一 格 式 中 , 对
于 每 一 大 块 的
不 同 , 显 示 出
匹 配 regexp. 的 一 些
前 面 的 行 .
--forward-ed 产 生 象 ed
脚 本 的 输 出 ,
但 是 它 们 在 文
件 出 现 的 顺 序
有 改 变 。
|
-h 这 选 项 现 在
已 没 作 用 , 它
呈 现 |
|
Unix的 兼 容 性 .
-H 使 用
启 发 规 则 加 速
操 作 那 些 有
许 多 离
散 的 小 差 异 的
大 文 件 .
--horizon-lines=lines
比 较 给 定 行 数
的 有 共 同 前 缀
的 最 后 行 , 和
有 共 同 或 缀 的
最 前 行 .
-I regexp
忽 略 由 插 入 ,
删 除 行 ( 由 regexp 参
数 提 供 参 考 )
带 来 的 改 变 .
--ifdef=name 合 并 if-then-else
格 式 输 出 , 预 处
理 宏 ( 由 name参 数
提 供 ) 条 件 .
--ignore-all-space 在 比 较 行
的 时 候 忽 略 空
白 .
--ignore-blank-lines 忽 略 插 入
和 删 除 空 行
--ignore-case 忽 略 大 小
写 .
--ignore-matching-lines=regexp 忽 略
插 入 删 除 行 (
由 regexp 参 数 提 供 参
考 ) .
--ignore-space-change 忽 略 空
白 的 数 量 .
--initial-tab 在 文 本 行
( 无 论 是 常 规
的 或 者 格 式 化
的 前 后 文 关 系
) 前 输 出 tab代 替
空 格 . 引 起 的 原
因 是 tab对 齐 方 式
看 上 去 象 是 常
规 的 一 样 .
|
-l 产 生 通 过 |
|
pr 编 码 的 输 出
. |
|
-L label
--label=label 使 用 label
给 出 的 字 符 在
文 件 头 代 替 文
件 名 输 出 .
--left-column 以 并 列 方
式 印 出 两 公 共
行 的 左 边
--line-format=format 使 用
format 输 出 所 有 的
行 , 在 if-then-else 格 式
中 .
--minimal 改 变 算 法 也
许 发 现 变 化 的
一 个 更 小 的 集
合 .这 会 使 diff 变
慢 (有 时 更 慢 ).
|
-n 输 出 |
|
RC-格 式 diffs; 除 了 每
条 指 令 指 定 的
行 数 受 影 响 外
象 -f 一 样 。 |
|
-N |
|
|
--new-file 在
目 录 比 较 中 ,
如 果 那 个 文 件
只 在 其 中 的 一
个 目 录 中 找 到
, 那 么 它 被 视
为 在 另 一 个 目
录 中 是 一 个 空
文 件 .
--new-group-format=format 使 用
format 以 if-then-else 格 式
输 出 只 在 第 二
个 文 件 中 取 出
的 一 个 行 组
--new-line-format=format 使 用
format 以 if-then-else 格 式
输 出 只 在 第 二
个 文 件 中 取 出
的 一 行
--old-group-format=format 使 用
format 以 if-then-else 格 式
输 出 只 在 第 一
个 文 件 中 取 出
的 一 个 行 组
--old-line-format=format 使 用
format 使 用 format 以
if-then-else 格 式 输 出 只
在 第 一 个 文 件
中 取 出 的 一 行
|
-p 显 示 带 有 |
|
c函 数 的 改 变 .
较 中 ,
如 果 那 个 文 件
只 在 其 中 的 一
个 目 录 中 找 到
, 那 么 它 被 视
为 在 另 一 个 目
录 中 是 一 个 空
文 件 .
--paginate 产
生 通 过 pr 编 码
的 输 出 .
|
-q 仅 报 告 文 件
是 否 相 异 ,不 报
告 详 细 的 差 异 |
.
|
-r 当 比
较 目 录 时 , 递
归 比 较 任 何 找
到 的 子 目 |
|
|
录 .
--rcs 输 出 RC-格 式 diffs;
除 了 每 条 指 令
指 定 的 行 数 受
影 响 外 象 -f 一
样 。
--recursive 当
比 较 目 录 时 ,
递 归 比 较 任 何
找 到 的 子 目 录 .
--report-identical-files
-S file 当
比 较 目 录 时 ,
由 file 开 始 . 这 用
于 继 续 中 断 了
的 比 较 .
--sdiff-merge-assist 打 印 附 加
的 信 息 去 帮 助
sdiff. sdiff 在 运 行
diff 时 使 用 这 些
选 项 . 这 些 选 项
不 是 特 意 为 使
用 者 直 接 使 用
而 准 备 的 。
--show-c-function 显 示 带 有
c函 数 的 改 变 .
--show-function-line=regexp 在 上
下 文 和 统 一 的
格 式 , 对 于 每
一 大 块 的 差 别
, 显 示 出 匹 配
regexp. 的 一 些 前 面
的 行
--side-by-side 使 用 并 列
的 输 出 格 式 .
--speed-large-files 使 用 启 发
规 则 加 速 操 作
那 些 有 许 多 离
散 的 小 差 异 的
大 文 件 .
--starting-file=file 当 比 较
目 录 时 , 由 file
开 始 . 这 用 于 继
续 中 断 了 的 比
较 .
--suppress-common-lines 在 并 列
格 式 中 不 印 出
公 共 行 。
|
-t 在 输 出 时 扩
展 |
|
tab为 空 格 , 保 护
输 入 文 件 的 tab对
齐 方 式
论 是 常
规 的 或 者 格 式
化 的 前 后 文 关
系 ) 前 输 出 tab代
替 空 格 .引 起 的
原 因 是 tab对 齐 方
式 看 上 去 象 是
常 规 的 一 样 .
所 有 的
文 件 都 视 为 文
本 文 件 来 逐 行
比 较 , 甚 至 他
们 似 乎 不 是 文
本 文 件 .
-u 使 用 统 一 的 输
出 格 式 .
--unchanged-group-format=format
使 用 format 输 出 两
个 文 件 的 公 共
行 组 , 其 格 式
是 if-then-else.
--unchanged-line-format=format 使 用
format 输 出 两 个 文
件 的 公 共 行 ,
其 格 式 是 if-then-else.
--unidirectional-new-file 在 目 录
比 较 中 , 如 果
那 个 文 件 只 在
其 中 的 一 个 目
录 中 找 到 , 那
么 它 被 视 为 在
另 一 个 目 录 中
是 一 个 空 文 件 .
-U lines
--unified[=lines] 使 用
前 后 关 系 格 式
输 出 , 显 示 以
指 定 行 数 (一
个 整 数 ), 或 者 是
三 行 ( 当 行 数
没 有 给 出 时 . 对
于 正 确 的 操 作 ,
上 下 文 至 少 要
有 两 行 .
--version 输
出 diff 版 本 号 .
-W columns
--width=columns 在 并 列
格 式 输 出 时 ,
使 用 指 定 的 列
宽 .
-x pattern 比 较 目 录
的 时 候 , 忽 略
和 目 录 中 与
pattern( 样 式 ) 相
配 的 .
-X file 比 较 目 录
的 时 候 , 忽 略
和 目 录 中 与 任
何 包 含 在 file(
文 件 ) 的 样 式
相 配 的 文 件 和
目 录 .
cmp(1),
comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
退 出 状
态 为 0意 味 着 没
有 差 别 , 1意 味
着 有 一 些 不 同
。 2意 味 很 有 问
题 ( 许 多 差 异
)
Scorpio
<rawk [AT] chinese.com>
2000/10/19
http://cmpp.linuxforum.net
本 页 面
中 文 版 由 中 文 man
手 册 页 计 划 提
供 。 中 文 man 手 册
页 计 划 :
https://github.com/man-pages-zh/manpages-zh
| | | |