|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linux文件对比和文件类型介绍& n. L0 r0 c3 b8 I, p$ s
& o# V$ S0 s5 I) J: g) x
1)既然您已了解文件系统及其结构,那么让我们学习如何管理文件和目录。diff 用于比较文件和目录。这个经常使用的实用程序有许多有用的选项(参见: man diff),包括: % S% v+ o# W' z
: B3 A4 r" \, a
2 z4 y+ N3 q) ?) B
* v8 N) t- }2 e" U6 I1 u要比较两个文件,请在命令提示符下键入diff [options] <filename1> <filename2>。diff意味着用于文本文件; 对于二进制文件,可以使用 cmp。 : Q' l" `/ v) u7 [
* q7 U: ^ x: V# u; L3 h
您可以使用diff3一次比较三个文件,diff3使用一个文件作为另外两个文件的参考基础。例如,假设您和同事都对同一个文件进行了独立修改。diff3 可以根据您开始使用的公共文件显示差异。diff3的语法 如下:
8 u! T5 [; i' S$ m( D1 w m! h. h+ {
$ diff3 MY-FILE COMMON-FILE YOUR-FILE
5 u% C( Z: D6 g) D$ M+ m0 Q4 d* I2 M, w: U( P
% x; u7 P; C* U& Q% \
0 |0 [2 p" R* ~! E* M6 n: L. ]2)许多修改,以源代码和配置文件分布利用贴剂,其中应用,这并不奇怪,与 patch 程序。修补程序文件包含将旧版本文件更新为新文件所需的增量(更改)。补丁文件实际上是通过使用正确的选项运行diff来生成的,如:
9 ?. C; _$ J+ Y3 [. B
/ Z/ [: w+ K5 j# s* p, h' O$ diff -Nur originalfile newfile> patchfile+ ~8 e3 y" V1 d8 s& y
# w$ d4 [- [) V0 O6 t' D
仅分发补丁比分发整个文件更简洁有效。例如,如果只需要在包含1000行的文件中更改一行,则补丁文件将只有几行。9 m# c( M% h; C1 w1 k" z
& J2 d9 L! h3 V% }) b
; e: ?# L" w! J; N/ G
+ n6 H' h1 S% ?+ B: t! h9 M
要应用补丁,您可以执行以下两种方法之一:+ B* [/ q; V1 d. T
0 v2 f. C, d& m x+ }& X6 {
$ patch -p1 <patchfile 6 O3 j, M6 ^1 L' A6 ?1 ]+ i# U
$ patch originalfile patchfile
, V( a" C, \. x1 ?1 V% s2 Q* P6 K; |& F4 v" V
第一种用法更常见,因为它通常用于将更改应用于整个目录树,而不仅仅是一个文件,如第二个示例中所示。要了解-p1选项和许多其他选项的用法 ,请参阅patch 的手册页。Linux和其他开源社区经常使用patch 程序来传播修改和更新; q/ k% _( Q7 k f9 K9 }1 \& Q W
+ B; t! \: E3 r
在Linux中,文件的扩展名通常不会像在其他操作系统中那样对其进行分类。我们不能假设名为 file.txt 的文件是文本文件而不是可执行程序。在Linux中,文件名对系统用户而言通常比系统本身更有意义。实际上,大多数应用程序直接检查文件的内容以查看它是什么类型的对象而不是依赖于扩展。这与Windows处理文件名的方式非常不同,例如,以.exe结尾的文件名表示可执行的二进制文件。可以使用文件实用程序确定文件的真实性质。对于作为参数给出的文件名,它会检查内容和某些特征,以确定文件是纯文本,共享库,可执行程序,脚本还是其他内容。# ]! n, y p' W5 P; M: b; M
) j0 K4 z, k( U. D% `2 i. V7 T2 Z' L5 b. F2 z# @/ W9 Y
0 r; k9 \9 x k9 ]* D2 c
5 k- Q& z. C/ T ?- k" |/ E/ L/ o9 B$ Z7 h4 q' s3 U4 o- a
1 _ h7 Q! b% d# m. A% [" r5 }" M- d
1 c. I# A7 T7 o
% h! r" M E' a! l; [- S+ B
3 g& i5 O* X8 I( Z! I |
|