Manpages

NAME

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 使 用 上 下 文 输 出 格 式

.

-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 忽 略 大 小 写

.

-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函 数 的 改 变 .

-P 在 目 录 比

较 中 , 如 果 那 个 文 件 只 在 其 中 的 一 个 目 录 中 找 到 , 那 么 它 被 视 为 在 另 一 个 目 录 中 是 一 个 空 文 件 .

--paginate 产 生 通 过 pr 编 码 的 输 出 .

-q 仅 报 告 文 件 是 否 相 异 ,不 报 告 详 细 的 差 异

.

-r 当 比 较 目 录 时 , 递 归 比 较 任 何 找 到 的 子 目

录 .
--rcs
输 出 RC-格 式 diffs; 除 了 每 条 指 令 指 定 的 行 数 受 影 响 外 象 -f 一 样 。

--recursive 当 比 较 目 录 时 , 递 归 比 较 任 何 找 到 的 子 目 录 .
--report-identical-files

-s 报 告 两 个 文 件 相 同

.

-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对 齐 方 式

-T 在 文 本 行 ( 无

论 是 常 规 的 或 者 格 式 化 的 前 后 文 关 系 ) 前 输 出 tab代 替 空 格 .引 起 的 原 因 是 tab对 齐 方 式 看 上 去 象 是 常 规 的 一 样 .

--text

所 有 的 文 件 都 视 为 文 本 文 件 来 逐 行 比 较 , 甚 至 他 们 似 乎 不 是 文 本 文 件 .
-u
使 用 统 一 的 输 出 格 式 .

--unchanged-group-format=format 使 用 format 输 出 两 个 文 件 的 公 共 行 组 , 其 格 式 是 if-then-else.
--unchanged-line-format=
format 使 用 format 输 出 两 个 文 件 的 公 共 行 , 其 格 式 是 if-then-else.
--unidirectional-new-file
在 目 录 比 较 中 , 如 果 那 个 文 件 只 在 其 中 的 一 个 目 录 中 找 到 , 那 么 它 被 视 为 在 另 一 个 目 录 中 是 一 个 空 文 件 .
-U
lines
--unified[=
lines] 使 用 前 后 关 系 格 式 输 出 , 显 示 以 指 定 行 数 (一 个 整 数 ), 或 者 是 三 行 ( 当 行 数 没 有 给 出 时 . 对 于 正 确 的 操 作 , 上 下 文 至 少 要 有 两 行 .

-v

--version 输 出 diff 版 本 号 .

-w 在 比 较 行 时 忽 略 空 格

-W columns
--width=
columns 在 并 列 格 式 输 出 时 , 使 用 指 定 的 列 宽 .
-x
pattern 比 较 目 录 的 时 候 , 忽 略 和 目 录 中 与 pattern( 样 式 ) 相 配 的 .
-X
file 比 较 目 录 的 时 候 , 忽 略 和 目 录 中 与 任 何 包 含 在 file( 文 件 ) 的 样 式 相 配 的 文 件 和 目 录 .

-y 使 用 并 列 格 式 输 出

参 考

cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).

DIAGNOSTICS

退 出 状 态 为 0意 味 着 没 有 差 别 , 1意 味 着 有 一 些 不 同 。 2意 味 很 有 问 题 ( 许 多 差 异 )

[中 文 版 维 护 人 ]

Scorpio <rawk [AT] chinese.com>

[中 文 版 最 新 更 新 ]

2000/10/19

《 中 国 Linux论 坛 man手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh