zoukankan      html  css  js  c++  java
  • diff与patch

    1.diff

        diff就是用来比较两个文件之间的区别的,并且是以行为单位比较的,通常用在同一文件或软件的新旧版本区别上。

     

    用法: diff [-bBi] from-file to-file

    from-file:一个文件名,作为欲比较的文件名

    to-file:一个文件名,作为目的比较的文件名

    -b:忽略一行中仅有多个空白的区别

    -B:忽略空白行的区别

    -i:忽略大小写的不同

     

    例:

    [root@server3 mnt]# cat file1

    qwer

    asdf

    [root@server3 mnt]# cat file2

    qwer

    asd

    zx

    [root@server3 mnt]# diff file1 file2

    2c2,3       #左边第二行被替换掉了,基准是右边的第二行

    < asdf         

    ---

    > asd

    > zx

     

     

    patch

    用法:  patch -pN < patch_file  更新

        patch -R -pN < patch_file 还原

    -p:后面的N代表取消几层目录的意思

    -R:代表还原,将新的文件还原成原来旧的版本

     

    例:

    [root@server3 mnt]# diff -Naur file1 file2 >file.patch    #制作不定文件

    [root@server3 mnt]# ls

    acltest  catfile  file2       kk  ll.lll  passwd  sh

    bashrc   file1    file.patch  ks  lvm     raid    ss

    [root@server3 mnt]# cat file.patch

    --- file1   2019-01-17 20:04:43.362000000 +0800

    +++ file2   2019-01-17 20:05:03.101000000 +0800

    @@ -1,2 +1,3 @@

     qwer

    -asdf

    +asd

    +zx

    [root@server3 mnt]# patch -p0 < file.patch            #更新

    patching file file1

    [root@server3 mnt]# ll file*

    -rw-r--r-- 1 root root  12 Jan 17 20:13 file1

    -rw-r--r-- 1 root root  12 Jan 17 20:05 file2

     

    [root@server3 mnt]# patch -R -p0 <file.patch          #还原

    patching file file1

    [root@server3 mnt]# ll file*

    -rw-r--r-- 1 root root  10 Jan 17 20:14 file1

    -rw-r--r-- 1 root root  12 Jan 17 20:05 file2

     

  • 相关阅读:
    java堆溢出和栈溢出
    一张图看懂JVM
    java学习书籍
    Linux内核、mysql内核、Tcp/Ip内核、java等知识书籍
    mac 下安装mysql8.0
    软件各种系统架构图
    架构师必看:软件架构图的艺术
    JVM
    docker 镜像整理
    自定义ResultMap查询,这里的关联写法只能用于不分页
  • 原文地址:https://www.cnblogs.com/zhengyipengyou/p/10284440.html
Copyright © 2011-2022 走看看