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
| | | |