finish 200 in man1
[manpages-zh.git] / src / man1 / diff.1
blob7961a4ffb53950e4008534f371c4bb1a8915e867
1 .\" Date: Fri, 11 Sep 1998 19:13:45 +0100
2 .\" From: Edward Betts 
3 .\" Chinese Version Copyrighted Scorpino, www.linuxforum.net 2000
4 .\" Derived from the GNU diff info page.
5 .\" May be distributed under the GPL.
6 .TH DIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
7 .SH NAME
8 diff \- 找出两个文件的不同点
9 .SH 总览
10 .B diff
11 [选项] 源文件 目标文件
12 .SH 描述
13 在最简单的情况是, 
14 .I diff
15 比较两个文件的内容
16 .I (源文件
17
18 .IR 目标文件) .
19 文件名可以是
20 .B \-
21 由标准输入设备读入的文本.
22 作为特别的情况是,
23 .B "diff \- \-"
24 比较一份标准输入的它自己的拷贝
25 如果 
26 .I 源文件
27 是一个目录和
28 .I 目标文件
29 不是(目录),
30 .I diff
31 会比较在
32 .I 源文件(目录)
33 里的文件的中和
34 .IR 目标文件同名的(文件),
35 反过来也一样. 非目录文件不能是
36 .BR \- .
38 如果
39 .I 源文件
40
41 .I 目标文件
42 都是目录,
43 .I diff
44 比较两个目录中相应的文件,
45 依照字母次序排序;这个比较是不会递归的,除非给出
46 .B \-r
47 或者
48 .B \-\-recursive.
49 .I diff
50 不把一个目录的内容看为它是一个文件来比较。被指定的文件不
51 能是标准的输入, 因为标准的输入是无名的并且"有一样的名字的文
52 件"的观点不适用。
53 .B diff
54 的选项由
55 .BR \- ,
56 开始
57 所以正常地
58 .I 源文件(名)
59
60 .I 目标文件(名)
61 不可以用
62 .BR \- 
63 开头.
64 然而,
65 .B \-\-
66 可以被它视为保留的即使作为文件名的开头(
67 they begin with
68 .BR \- . )
69 .SS 选项
70 下面是 GNU所接受的
71 .I diff
72 的所有选项的概要.
73 大多数的选项有两个相同的名字,一个是单个的
74 跟在 
75 .BR \- 
76 后面字母,
77 另一个是由
78 .BR \-\- 
79 引出的长名字.
80 多个单字母选项(除非它们产生歧义)能够组合为单行的命令行语法
81 .B \-ac
82 是等同于
83 .BR "\-a \-c" .
84 长命名的选项能被缩短到他们的名字的任何唯一的前缀.
85
86 .RB ( [
87
88 .BR ] )
89 括起来显示选项产生歧义的选项
90 .TP
91 .BI \- 行数(一个整数)
92 显示上下文
93 .I 行数
94 (一个整数).
95 这个选项自身没有指定输出格式,这是没有效果的,除非和
96 .B \-c
97 或者
98 .BR \-u 
99 组合使用.
100 这是已废置的选项,对于正确的操作,
101 上下文至少要有两行。
103 .B \-a
104 所有的文件都视为文本文件来逐行比较,甚至他们似乎不是文本文件.
106 .B \-b
107 忽略空格引起的变化.
109 .B \-B
110 忽略插入删除空行引起的变化.
112 .B \-\-brief
113 仅报告文件是否相异,在乎差别的细节.
115 .B \-c
116 使用上下文输出格式.
118 .BI "\-C " 行数(一个整数)
122 .BI \-\-context[= lines ]
123 使用上下文输出格式,显示以指定
124 .I 行数
125 (一个整数), 或者是三行(当
126 .I 行数
127 没有给出时.
128 对于正确的操作,
129 上下文至少要有两行.
131 .BI \-\-changed\-group\-format= format
132 使用
133 .I format
134 输出一组包含两个文件的不同处的行,其格式是 if\-then\-else .
136 .B \-d
137 改变算法也许发现变化的一个更小的集合.这会使
138 .I diff
139 变慢 (有时更慢).
141 .BI "\-D " name
142 合并 if\-then\-else 格式输出, 预处理宏(由name参数提供)条件.
144 .B \-e
148 .B \-\-ed
149 输出为一个有效的
150 .I ed
151 脚本.
153 .BI \-\-exclude= pattern
154 比较目录的时候,忽略和目录中与
155 .IR pattern (样式)
156 相配的.
158 .BI \-\-exclude\-from= file
159 比较目录的时候,忽略和目录中与任何包含在
160 .IR file (文件)
161 的样式相配的文件和目录.
163 .B \-\-expand\-tabs
164 在输出时扩展tab为空格,保护输入文件的tab对齐方式
166 .B \-f
167 产生一个很象
168 .I ed
169 脚本的输出,但是但是在他们在文件出现的顺序有改变
171 .BI "\-F " regexp
172 在上下文和统一格式中,对于每一大块的不同,显示出匹配
173 .IR regexp .
174 的一些前面的行.
176 .B \-\-forward\-ed
177 产生象
178 .B ed
179 脚本的输出,但是它们在文件出现的顺序有改变。
181 .B \-h
182 这选项现在已没作用,它呈现Unix的兼容性.
184 .B \-H
185 使用启发规则加速操作那些有许多离散的小差异的大文件.
187 .BI \-\-horizon\-lines= lines
188 比较给定行数的有共同前缀的最后行,和有共同或缀的最前行.
190 .B \-i
191 忽略大小写.
193 .BI "\-I " regexp
194 忽略由插入,删除行(由regexp 参数提供参考)带来的改变.
196 .BI \-\-ifdef= name
197 合并 if\-then\-else 格式输出, 预处理宏(由name参数提供)条件.
199 .B \-\-ignore\-all\-space
200 在比较行的时候忽略空白.
202 .B \-\-ignore\-blank\-lines
203 忽略插入和删除空行
205 .B \-\-ignore\-case
206 忽略大小写.
208 .BI \-\-ignore\-matching\-lines= regexp
209 忽略插入删除行(由regexp 参数提供参考).
211 .B \-\-ignore\-space\-change
212 忽略空白的数量.
214 .B \-\-initial\-tab
215 在文本行(无论是常规的或者格式化的前后文关系)前输出tab代替空格.
216 引起的原因是tab对齐方式看上去象是常规的一样.
218 .B \-l
219 产生通过
220 .I pr
221 编码的输出.
223 .BI "\-L " label
227 .BI \-\-label= label
228 使用
229 .I label
230 给出的字符在文件头代替文件名输出.
232 .B \-\-left\-column
233 以并列方式印出两公共行的左边
235 .BI \-\-line\-format= format
236 使用
237 .I format
238 输出所有的行,在
239 if\-then\-else 格式中.
241 .B \-\-minimal
242 改变算法也许发现变化的一个更小的集合.这会使
243 .I diff
244 变慢 (有时更慢).
246 .B \-n
247 输出 RC\-格式 diffs; 
248 除了每条指令指定的行数受影响外 象
249 .B \-f
250 一样。
252 .B \-N
256 .B \-\-new\-file
257 在目录比较中,如果那个文件只在其中的一个目录中找到,那么它被视为在
258 另一个目录中是一个空文件.
260 .BI \-\-new\-group\-format= format
261 使用
262 .I format
263 以if\-then\-else 格式输出只在第二个文件中取出的一个行组
265 .BI \-\-new\-line\-format= format
266 使用
267 .I format
268 以if\-then\-else 格式输出只在第二个文件中取出的一行
270 .BI \-\-old\-group\-format= format
271 使用
272 .I format
273 以if\-then\-else 格式输出只在第一个文件中取出的一个行组
275 .BI \-\-old\-line\-format= format
276 使用
277 .I format
278 使用
279 .I format
280 以if\-then\-else 格式输出只在第一个文件中取出的一行
282 .B \-p
283 显示带有c函数的改变.
285 .B \-P
286 在目录比较中,如果那个文件只在其中的一个目录中找到,那么它被视为在
287 另一个目录中是一个空文件.
289 .B \-\-paginate
290 产生通过
291 .I pr
292 编码的输出.
294 .B \-q
295 仅报告文件是否相异,不报告详细的差异.
297 .B \-r
298 当比较目录时,递归比较任何找到的子目录.
300 .B \-\-rcs
301 输出 RC\-格式 diffs; 
302 除了每条指令指定的行数受影响外 象
303 .B \-f
304 一样。
306 .B \-\-recursive
307 当比较目录时,递归比较任何找到的子目录.
309 .B \-\-report\-identical\-files
313 .B \-s
314 报告两个文件相同.
316 .BI "\-S " file
317 当比较目录时,由
318 .IR file 
319 开始.
320 这用于继续中断了的比较.
322 .B \-\-sdiff\-merge\-assist
323 打印附加的信息去帮助
324 .IR sdiff .
325 .I sdiff
326 在运行
327 .IR diff 
328 时使用这些选项.
329 这些选项不是特意为使用者直接使用而准备的。
331 .B \-\-show\-c\-function
332 显示带有c函数的改变.
334 .BI \-\-show\-function\-line= regexp
335 在上下文和统一的格式,对于每一大块的差别,显示出匹配
336 .IR regexp .
337 的一些前面的行
340 .B \-\-side\-by\-side
341 使用并列的输出格式.
343 .B \-\-speed\-large\-files
344 使用启发规则加速操作那些有许多离散的小差异的大文件.
346 .BI \-\-starting\-file= file
347 当比较目录时,由
348 .IR file 
349 开始.
350 这用于继续中断了的比较.
352 .B \-\-suppress\-common\-lines
353 在并列格式中不印出公共行。
355 .B \-t
356 在输出时扩展tab为空格,保护输入文件的tab对齐方式
358 .B \-T
359 在文本行(无论是常规的或者格式化的前后文关系)前输出tab代替空格.引起的原因
360 是tab对齐方式看上去象是常规的一样.
362 .B \-\-text
363 所有的文件都视为文本文件来逐行比较,甚至他们似乎不是文本文件.
365 .B \-u
366 使用统一的输出格式.
368 .BI \-\-unchanged\-group\-format= format
369 使用
370 .I format
371 输出两个文件的公共行组,其格式是if\-then\-else.
373 .BI \-\-unchanged\-line\-format= format
374 使用
375 .I format
376 输出两个文件的公共行,其格式是if\-then\-else.
378 .B \-\-unidirectional\-new\-file
379 在目录比较中,如果那个文件只在其中的一个目录中找到,那么它被视为在
380 另一个目录中是一个空文件.
382 .BI "\-U " lines
386 .BI \-\-unified[= lines ]
387 使用前后关系格式输出,显示以指定
388 .I 行数
389 (一个整数), 或者是三行(当
390 .I 行数
391 没有给出时.
392 对于正确的操作,
393 上下文至少要有两行.
395 .B \-v
399 .B \-\-version
400 输出
401 .IR diff 
402 版本号.
404 .B \-w
405 在比较行时忽略空格
407 .BI "\-W " columns
411 .BI \-\-width= columns
412 在并列格式输出时,使用指定的列宽.
414 .BI "\-x " pattern
415 比较目录的时候,忽略和目录中与
416 .IR pattern (样式)
417 相配的.
419 .BI "\-X " file
420 比较目录的时候,忽略和目录中与任何包含在
421 .IR file (文件)
422 的样式相配的文件和目录.
424 .B \-y
425 使用并列格式输出
426 .SH 参考
427 cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
428 .SH DIAGNOSTICS
429 退出状态为0意味着没有差别,
430 1意味着有一些不同。
431 2意味很有问题(许多差异)
434 .SH "[中文版维护人]"
435 .B Scorpio <rawk@chinese.com>
436 .SH "[中文版最新更新]"
437 .BR 2000/10/19
438 .SH "《中国Linux论坛man手册页翻译计划》:"
439 .BI http://cmpp.linuxforum.net