diff是比较两个 文本文件, 或目录,(中名字相同的文件)

diff 是按行来比较的, 只要两个对应的行, 不完全一致, 就报告为不同, 否则就视为相同. (一行中任意一点的不同...)

检查时, 指定选项:(只要有这三个)

-b或--ignore-space-change  不检查空格字符的不同。

-B或--ignore-blank-lines  不检查空白行。

-i --ignore-case : 检查时,忽略大小写

-w 忽略全部的空格字符

主要有 四种比较显示 方式

第一. 是普通 的显示方式 --normal 这是默认的 (相同的行不显示, 只显示不同的行...)

第二. 是 并排显示的 : -y, -W 80

而显示报告不同的 情形 无非只有 三种:

一是 两行比较时, 有不同, 二是 前面的文件比后面的文件对应的行要多, 三是 前面的文件比后面的文件 行要 少.

所以 :

普通显示时: 有 三个符号 : 用 c表示 不同, 即: change, 有变化; a表示 add, 即前面的文件file1 比 后面的文件file2 多一行到n行; d表示delete, 即前面的比后面的要少.

并排比较时, 也有三种对应的符号: | 表示change, < 表示add, > 表示 delete ....

第三, 是 上下文输出显示方式, 即, 先输出第一个文件的连续行, 然后输出 第二个文件的 连续行(不同的地方), 所以叫上下文. (这个是 加州大写伯克利分校推出BSD版本时 觉得默认格式

太简单了, 需要加入显示上下文的信息, 更详细了解变化情况.

格式是: diff old new -c: -c 表示 context 上下文. 输出方式; 或者叫(前后 输出 方式) (每一行的行首 标记位: ! 标识不同, - 标识这一行被删除, +标识这一行新增的)

第四, 是统一 /合并 输出方式 -u表示 unified. unified. 即 将 两个文件相同的行只 显示一次, 而不同的行 前后一行挨着显示.

diff old new -u

第3, 4 种方式, 总是 先生成 两个文件的 说明信息, 标识 符号 用 +++ --------- *** 来标识...


要理解diff, 就要理解diff产生的背景和作用, 他是unix 用来进行代码管理的基石. 是通过比较 版本变化前后的文件的区别, 来生成patch补丁文件, 进行版本控制和复原的.

格式是: diff <version1, 版本变化前的文件> ( version2, 版本变化后的文件) > patchfile.

即;:: 通过 diff 得到 补丁文件 patchfile

然后 根据 file1 和 patchfile 来 将 file1, 打补丁到file2: patch file1 patchfile

或者通过 file2 和patchfile 来回复到file1: patch -R file2 patchfile.

格式 总是 :patch [ oldfile | -R newfile] patchfile

通常 用 ----- 或 **** 表示 变动 前的版本, 而 +++ 表示 变动后的 版本....

git格式的 diff: 默认使用的是 unified 格式的显示(unified 主要用于 相差很小 高度相似的 两个文件....!!!

diff --git a/f1 b/f2....

....

php的 接口中的函数, 不必使用 abstract. 直接 使用: public function 就可以了, 不必加abstract.

interface IFoo{
public function f1(...);
public function f2(...);
}

接口既可以被 普通类 来 实现implements, 也可以被 其他接口 来继承 extens.

也就是说 一个类要 实现多个接口, 有两种方式, 一种是直接实现 多个接口 : class c implements a , b {..}, 另一种是, 先让接口多个 逐渐多层次的 继承, 然后让普通类 只实现最后的 接口: interface b extends a {} , interface c extends b {...}, class d implements c{...}.

实现接口的普通类 本身 是可以包含 其他 成员变量 , 和其他普通方法的...

php中的常量 一是不能用 $ 符号; 二是要用 const 来 限制, 比如: const Pi=3.14; 类里面也可以定义 常量成员: class Foo {const Pi = 3.14} 引用时 Foo::Pi

简单明了的掌握diff命令? 参考: http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.html的更多相关文章

  1. LINUX DIFF命令详解

    刚才在和公司做离线IP对比,最后手工了,感觉还是比较麻烦的,遇到数据很大的时候不能手工进行了 本想用linux下的DIFF来进行对比,发现结果很乱.时间很紧最后还是手工了. 现在忙完要认认真真学习一下 ...

  2. Linux 文本对比 diff 命令详解(整理)

    diff 命令详解 1.概述 windows系统下面就有不错的文本对比工具可以使用,例如常用的Beyond Compare,WinMerge都是图形界面的比较工具而且使用非常方便,如果你仅仅是在win ...

  3. [转帖]ipvsadm命令参考及其应用例子

    ipvsadm命令参考及其应用例子 https://blog.csdn.net/orichisonic/article/details/47375227 只是简单创建了 service和添加serve ...

  4. diff 命令详解

    [自注:] 1,还有个colordiff命令,用颜色标识不同的地方.需要先安装 2,diff normal模式中 2,5表示从第二行到第五行 3,diff -c 模式中,2,5表示从第二行到第五行 4 ...

  5. diff 命令实用

    1.概述 本文将要讨论的是diff命令,diff用来比较两个文件.当然文件比较的工具很多,windows系统下面就有不错的工具可以使用,例如常用的Beyond Compare,WinMerge都是图形 ...

  6. 『现学现忘』Git基础 — 21、git diff命令

    目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在comm ...

  7. diff命令

    描述 在最简单的情况是, diff 比较两个文件的内容 (源文件 和 目标文件). 文件名可以是 - 由标准输入设备读入的文本. 作为特别的情况是, diff - - 比较一份标准输入的它自己的拷贝如 ...

  8. diff命令参数

    diff命令参数: diff - 找出两个文件的不同点 总览 diff [选项] 源文件 目标文件 描述 在最简单的情况是, diff 比较两个文件的内容 (源文件 和 目标文件). 文件名可以是 - ...

  9. diff命令的参数详解和实例 【转】

    转自:http://blog.chinaunix.net/uid-25324849-id-270254.html diff命令参数: diff - 找出两个文件的不同点 总览 diff [选项] 源文 ...

随机推荐

  1. programmatically detect whenever test run is in debug mode

    if (System.Diagnostics.Debugger.IsAttached)    // code or timeout value when running tests in debug ...

  2. Python记录5:函数1

    函数 ''' 1. 什么是函数     在程序中具备某一功能的工具->函数     函数的使用必须遵循原则:         先定义         后调用 函数分为两大类:         1 ...

  3. arcgis api for javascript 添加图层时设置标注,自定义符号

    <!DOCTYPE html> <html> <head> <meta charset="gb2312"> <meta nam ...

  4. C++/Java线程之分

    JAVA线程状态图 1.C++/windows中主线程结束,其他线程必然死亡(即使调用pthread_detach解除父子关系,主线程消亡时也会导致子线程被迫关闭). ----1.1 一个进程中可以有 ...

  5. Robot - 1. robot framework环境搭建

    Fom:https://www.cnblogs.com/puresoul/p/3854963.html 一. robot framework环境搭建: 官网:http://robotframework ...

  6. Permutation Bo (数学证明)

    当在两端时:共有n * (n - 1)种组合,满足条件的有,计算可得, counter = n * (n - 1) / 2. 其他位置时:共有n * (n - 1) * (n - 2) 种组合,满足条 ...

  7. DeepLearning资源汇总

    仍旧不完全统计,边学边加 Bagging与随机森林算法原理 分类数据集 MNIST Cifar10 ILSVRC排行榜 Cifar10 board train loss与test loss结果分析   ...

  8. 用django统计代码行数+注释行数

    实现统计代码行数: 1.首先在url.py中配置 from django.conf.urls import url from django.contrib import admin from app0 ...

  9. 关于SQL语句中的distinct和group by

    两种都能实现去重功能.区别: distinct只是将重复的行从结果中出去: group by是按指定的列分组,一般这时在select中会用到聚合函数. distinct是把不同的记录显示出来 grou ...

  10. C# 设置按钮快捷键

    参考自:http://www.csharpwin.com/csharpspace/3932r8132.shtml 一.C# button快捷键之第一种:Alt + *(按钮快捷键) 在Button按钮 ...