Linux diff命令详解

     Linux中比较文件或者文件夹差异,经常用到diff命令,先解释如下。

         用法:diff [选项]... FILES

         功能:逐行比较文件。

         常用选项说明:

      -i  --ignore-case  忽略文件内容大小写的区别。
      --ignore-file-name-case  忽略文件名大小写的区别。
      --no-ignore-file-name-case  不忽略文件名大小写的区别。
      -E  --ignore-tab-expansion  忽略由制表符宽度造成的差异。
      -b  --ignore-space-change  忽略由空格数不同造成的差异。
      -w  --ignore-all-space   忽略所有空格。
      -B  --ignore-blank-lines  忽略任何因空行而造成的差异。
      -I RE  --ignore-matching-lines=RE  如果某行匹配正则表达式,则忽略由该行造成的差异。
      --strip-trailing-cr  去除输入内容每行末端的 carriage return 字符。
      -a  --text  所有文件都以文本方式处理。
      -c  -C 行数  --context[=行数]  显示指定<行数>(默认 3 行)copied 格式的上下文
      -u  -U 行数  --unified[=行数]  显示指定<行数>(默认 3 行)unified 格式的上下文
         --label 标识                       使用<标识>代替文件名称。
         -p  --show-c-function           显示和每个差异有关的 C 函数名称。
         -F RE  --show-function-line=RE  显示最接近而符合<正则表示式>的一行。
      -q  --brief  只显示文件是否不同。
      -e  --ed 以 ed script 方式输出。
      --normal 以正常的 diff 方式输出。
      -n  --rcs  以 RCS diff 格式输出。
      -y  --side-by-side         以两列并排的方式显示。
        -W NUM  --width=NUM      每行显示最多 NUM (默认 130) 个字符。
        --left-column            当有两行相同时只显示左边的一行。
        --suppress-common-lines  当有两行相同时不会显示。
      -D NAME  --ifdef=NAME  输出的内容以‘#ifdef NAME’方式标明差异。
      -l  --paginate 将输出送至‘pr’指令来分页。
      -t  --expand-tabs  将输出中的 tab 转换成空格。
      -T  --initial-tab  每行先加上 tab 字符,使 tab 字符可以对齐。
      --tabsize=NUM  定位字符 (tab) 的宽度,默认为 8 个空格宽。
      --suppress-blank-empty  Suppress space or tab before empty output lines.

      -r  --recursive  连同所有子目录一起比较。
      -N  --new-file  不存在的文件以空文件方式处理。
      --unidirectional-new-file  若第一文件案不存在,以空文件处理。
      -s  --report-identical-files   当两个一样时仍然显示结果。
      -x PAT  --exclude=PAT  排除匹配 PAT 的文件。
      -X FILE  --exclude-from=FILE   排除所有匹配在 FILE 中列出的模式的文件。
      -S FILE  --starting-file=FILE  当比较目录时,由 FILE 开始比较。
      --from-file=FILE1  将 FILE1 和操作数中的所有文件/目录作比较。FILE1 可以是目录。
      --to-file=FILE2    将操作数中的所有文件/目录和 FILE2 作比较。FILE2 可以是目录。

      --horizon-lines=NUM      (此选项不做处理)
      -d  --minimal  尽可能找出最小的差异。
      --speed-large-files     假设文件十分大而且其中含有许多微小的差异。

      -v  --version  输出版本信息。
      --help  输入本帮助。

      FILES 的格式可以是‘FILE1 FILE2’、‘DIR1 DIR2’、‘DIR FILE...’或
          ‘FILE... DIR’。
      如果使用 --from-file 或 --to-file 选项,FILES 的格式则不受限制。
      如果 FILE 是‘-’,则由标准输入读取内容。
      如果输入相同,则退出状态为 0;1 表示输入不同;2 表示有错误产生。
      用于文件夹或者文件比较时经常用到的参数:-i/-N/-q/-r/-w/-B/-b/-u/-y/--suppress-common-lines等,同时结合“>”重定向和grep等命令过滤、保存比较结果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章