博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux-diff命令
阅读量:6233 次
发布时间:2019-06-22

本文共 4228 字,大约阅读时间需要 14 分钟。

git diff适用于git管理的文件。而diff命令则没有限制。但一般系统文件都在版本控制中,所以git diff用的比较多。

推荐diff -u

一。参数

1.diff格式参数
-u 输出统一格式,-c是传统格式。diff有"传统"和"统一"两种格式,一般使用"统一"格式,即-u . 比较而言,统一格式生成的文件大,但包含了更多的信息,有利于阅读与定位
注意到-c 与-u这二种格式不能同时使用。你只能使用其中一种格式化输出内容
diff -u -c   /home/gaoyibo/php-site/php-site/src/Search/web.xml /home/gaoyibo/search/workspace/searchServer/WebContent/WEB-INF/web.xml > web.patch
diff: conflicting output style options
diff: Try `diff --help' for more information.
 
了解-u的输出格式:同一块内容,里面用+,-区分文件的修改。
--- /home/gaoyibo/php-site/php-site/src/Search/web.xml    2011-11-08 15:38:07.000000000 +0800
+++ /home/gaoyibo/search/workspace/searchServer/WebContent/WEB-INF/web.xml    2011-11-07 11:22:45.000000000 +0800
@@ -25,8 +25,9 @@
     <servlet-name>InitServlet</servlet-name>
     <servlet-class>com.daodao.servlet.InitServlet</servlet-class>
     <init-param>
+      <!-- change path -->
       <param-name>propspath</param-name>
-      <param-value>/home/search/config/</param-value>
+      <param-value>/home/gaoyibo/search/resource/</param-value>
     </init-param>
     <init-param>
       <param-name>propsname</param-name>
2.diff目录用到参数
如果比较二个目录,使用-r,表示Recursively compare any subdirectories found.      -x 用来排除目录中的某个文件
 
 

**3.其它参数
-a  Treat all files as text.
-b  Ignore changes in the amount of white space.
-N   如果某个文件只在一个目录中出现,则假定在另一个目录中为空文件.

查看diff -acb生成的patch文件:

示例1:注意下页的示例只为说明-c,推荐使用-u。

不会针对同行做修改。只有增减。注意,这种情况下,---文件的变化都是在***里使用“-”来标志。---部分没有内容。这与!时的情况不同。

diff -r -a -c -b -x Makefile.temp /home/gaoyibo/search/workspace/searchServer/src/com/daodao/application/search/Indexer.java /home/gaoyibo/php-site/php-site/src/Search/src/com/daodao/application/search/Indexer.java

*** /home/gaoyibo/search/workspace/searchServer/src/com/daodao/application/search/Indexer.java    2011-10-27 14:21:12.000000000 +0800
--- /home/gaoyibo/php-site/php-site/src/Search/src/com/daodao/application/search/Indexer.java    2011-11-08 15:38:07.000000000 +0800
***************
*** 1,7 ****
  package com.daodao.application.search;
 
  import java.io.BufferedOutputStream;
-
  import java.io.BufferedReader;
  import java.io.File;
  import java.io.FileInputStream;
--- 1,6 ----
***************
*** 62,68 ****
  //    private static PinYinSearchTree m_cPinYinSearchForLocation = new PinYinSearchTree();
     
 
-     //
      public static LinkedBlockingQueue<Document> m_lDocQueue = new LinkedBlockingQueue<Document>(200000);
      
      
--- 61,66 ----
***************
*** 106,112 ****
          }
      }
 
-     
      private Indexer(Properties prop)
      {
          _init(prop);
--- 104,109 ----
***************
*** 120,126 ****
              {
                  prop = DaoDaoConfig.getProperties();
              }
-             //私有的构造方法供单例使用。
              m_iInstance = new Indexer(prop);             
          }
          return m_iInstance;
--- 117,122 ----

 

 

示例2:对同行做修改。注意---部分格式的变化。

diff -r -a -c -b -x Makefile.temp /home/gaoyibo/search/workspace/searchServer/src/com/daodao/servlet/Init.java /home/gaoyibo/php-site/php-site/src/Search/src/com/daodao/servlet/Init.java

*** /home/gaoyibo/search/workspace/searchServer/src/com/daodao/servlet/Init.jav2011-11-08 19:51:56.000000000 +0800
--- /home/gaoyibo/php-site/php-site/src/Search/src/com/daodao/servlet/Init.java2011-11-08 19:51:46.000000000 +0800
***************
*** 32,38 ****
          // DaoDaoPostDBReader.getInstance();
          // get location related info
          long lStart = System.currentTimeMillis();
!         // DaoDaoLocationReader.getInstance();
          long lSpan = System.currentTimeMillis() - lStart;
          lStart = System.currentTimeMillis();
          DaoDaoLogging.SERVLET.info("Loading all location info takes " + lSpan
--- 32,38 ----
          // DaoDaoPostDBReader.getInstance();
          // get location related info
          long lStart = System.currentTimeMillis();
!         DaoDaoLocationReader.getInstance();
          long lSpan = System.currentTimeMillis() - lStart;
          lStart = System.currentTimeMillis();
          DaoDaoLogging.SERVLET.info("Loading all location info takes " + lSpan
***************
*** 48,54 ****
 
          if (DaoDaoConfig.getStringProperty(GEOPREFIXSEARCH).equalsIgnoreCase(
                  "true")) {
! //            GeoPrefixSearch.getInstance();
              lSpan = System.currentTimeMillis() - lStart;
              lStart = System.currentTimeMillis();
              DaoDaoLogging.SERVLET.info("Loading all geo prefix index takes "
--- 48,54 ----
 
          if (DaoDaoConfig.getStringProperty(GEOPREFIXSEARCH).equalsIgnoreCase(
                  "true")) {
!             GeoPrefixSearch.getInstance();
              lSpan = System.currentTimeMillis() - lStart;
              lStart = System.currentTimeMillis();
              DaoDaoLogging.SERVLET.info("Loading all geo prefix index takes

 

 
 

转载地址:http://wzhna.baihongyu.com/

你可能感兴趣的文章
工厂模式 抽象模式
查看>>
搞懂“分布式锁”,看这篇文章就对了
查看>>
1 序言 [全栈攻城师的技术札记]
查看>>
LeetCode之DI String Match(Kotlin)
查看>>
LeetCode之Two Sum IV Input is a BST(Kotlin)
查看>>
iOS 瀑布流之栅格布局
查看>>
Android中Activity的启动流程
查看>>
Parity钱包漏洞全分析及区块链安全风险应对措施
查看>>
到底是用"静态类"还是单例
查看>>
Redis RedLock 完美的分布式锁么?
查看>>
深入剖析Redis系列(八) - Redis数据结构之集合
查看>>
js:原生单张图片延迟加载(图片自己找)
查看>>
关于iOS中委托(Delegate)的几点看法
查看>>
读书笔记-Java高并发程序设计(一)
查看>>
spring cloud微服务分布式云架构 - Spring Cloud简介
查看>>
用vue-cli3导入外部的iconfont.css图标样式遇到的坑:These relative modules were not found:...
查看>>
ObjC RunLoop简析
查看>>
李笑来哭了,韭菜财经们笑了
查看>>
《快学 Go 语言》第 15 课 —— 反射
查看>>
既生 Redis 何生 LevelDB ?
查看>>