zoukankan      html  css  js  c++  java
  • 文件比较、补丁制作、打印机打印

    21.1.4

    diff:以逐行的方式,比较文本文件的异同处

    • 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
    [root@www ~]# diff [-bBi] from-file to-file
    选项与参数:
    from-file :一个档名,作为原始比对文件的档名;
    to-file   :一个档名,作为目的比对文件的档名;
    注意,from-file 或 to-file 可以 - 取代,那个 - 代表『Standard input』之意。
    
    -b  :忽略一行当中,仅有多个空白的差异(例如 "about me" 与 "about     me" 视为相同
    -B  :忽略空白行的差异。
    -i  :忽略大小写的不同。
    
    范例一:比对 passwd.old 与 passwd.new 的差异:
    [root@www test]# diff passwd.old passwd.new
    4d3    <==左边第四行被删除 (d) 掉了,基准是右边的第三行
    < adm:x:3:4:adm:/var/adm:/sbin/nologin  <==这边列出左边(<)文件被删除的那一行内容
    6c5    <==左边文件的第六行被取代 (c) 成右边文件的第五行
    < sync:x:5:0:sync:/sbin:/bin/sync  <==左边(<)文件第六行内容
    ---
    > no six line                      <==右边(>)文件第五行内容
    # 很聪明吧!用 diff 就把我们刚刚的处理给比对完毕了!
    

    cmp:比较两个文件,主要利用字节单位去比

    • 当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为"-",则cmp指令会从标准输入设备读取数据。
    [root@www ~]# cmp [-s] file1 file2
    选项与参数:
    -s  :将所有的不同点的位组处都列出来。因为 cmp 默认仅会输出第一个发现的不同点。
    
    范例一:用 cmp 比较一下 passwd.old 及 passwd.new
    [root@www test]# cmp passwd.old passwd.new
    passwd.old passwd.new differ: byte 106, line 4
    

    patch:用于修补文件

    • 与 diff 可是有密不可分
    • 先比较先旧版本的差异,并将差异档制作成为补丁档,再由补丁档升级旧文件
    • 指令让用户利用设置修补文件的方式,修改,更新原始文件。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。
    [root@www ~]# patch -pN < patch_file    <==升级 
    [root@www ~]# patch -R -pN < patch_file <==还原 
    选项与参数: -p  :后面可以接『取消几层目录』的意思。 
    -R  :代表还原,将新的文件还原成原来旧的版本。 
    范例二:将刚刚制作出来的 patch file 用来升级旧版数据 
    [root@www test]# patch -p0 < passwd.patch patching file passwd.old 
    [root@www test]# ll passwd* -rw-r--r-- 1 root root 1929 Feb 10 14:29 passwd.new -rw-r--r-- 1 root root 1929 Feb 10 15:12 passwd.old <==文件一模一样! 范例三:恢复旧文件的内容 
    [root@www test]# patch -R -p0 < passwd.patch 
    [root@www test]# ll passwd* -rw-r--r-- 1 root root 1929 Feb 10 14:29 passwd.new -rw-r--r-- 1 root root 1986 Feb 10 15:18 passwd.old # 文件就这样恢复成为旧版本罗 
    

    pr:对指定文件附注打印所需的页码或聚焦

    [root@www ~]# pr /etc/man.config
    
    
    2007-01-06 18:24                 /etc/man.config                  Page 1
    
    
    #
    # Generated automatically from man.conf.in by the
    # configure script.
    .....以下省略......
    
  • 相关阅读:
    std thread
    windows更新包发布地址
    How to set up logging level for Spark application in IntelliJ IDEA?
    spark 错误 How to set heap size in spark within the Eclipse environment?
    hadoop 常用命令
    windows 安装hadoop 3.2.1
    windows JAVA_HOME 路径有空格,执行软连接
    day01MyBatisPlus条件构造器(04)
    day01MyBatisPlus的CRUD 接口(03)
    day01MyBatisPlus入门(02)
  • 原文地址:https://www.cnblogs.com/ananing/p/14228953.html
Copyright © 2011-2022 走看看