Linux diff命令

参考资料

  1. 【 diff 】コマンド(基本編)――テキストファイルの差分を出力する
  2. 便利なdiffコマンド使い方

目录

  • 前期准备
  • 一. 基本语法
  • 二. 文件比较
    • 2.1 无配置项
    • 2.2 -B 忽略空行,-w忽略空格
    • 2.3 -y 文件内容横向比较显示
    • 2.4 -q 仅显示文件是否不同,不显示具体差异
  • 三. 文件夹比较
    • 3.1 -r 递归比较到子文件夹
    • 3.2 -N 比较文件夹时,显示文件差分内容


前期准备

有文件file1.txt 和 file2.txt,其差分如下。

Linux diff命令_第1张图片


一. 基本语法

# 比较文件
diff 配置项 file1 file2

# 比较文件夹
diff 配置项 directory1 directory2
短配置项 长配置项 作用
-i –ignore-case 忽略大小写
-B –ignore-blank-lines 忽略空行
-b –ignore-space-change 如果只有空格发生变更的话,就忽视
-E –ignore-tab-expansion 忽略tab造成的空格变化
-w –ignore-all-space 忽略空格
-y –side-by-side 文件显示为两列横向比较
-a –text 将文件强制视为文本文件一行行比较
-q –brief 仅显示文件是否不同,而不显示具体差异
-r –recursive 文件夹进行比较的时候,递归比较其子文件夹
-N –new-file 目录比较时,如果某个文件仅存在于一个目录中
用一个空文件和该文件比较,显示该文件的具体内容

二. 文件比较

2.1 无配置项

diff file1.txt file2.txt
  • <:指向左边,表示左侧文件的内容
  • >:指向右边,表示右侧文件的内容

Linux diff命令_第2张图片

2.2 -B 忽略空行,-w忽略空格

diff -Bw file1.txt file2.txt

可以看到空格和空行的差异并没有差分出来

Linux diff命令_第3张图片

2.3 -y 文件内容横向比较显示

diff -y file1.txt file2.txt

Linux diff命令_第4张图片

2.4 -q 仅显示文件是否不同,不显示具体差异

diff -q file1.txt file2.txt

在这里插入图片描述


三. 文件夹比较

3.1 -r 递归比较到子文件夹

 diff -r ./20240102/ ./temp

Linux diff命令_第5张图片

3.2 -N 比较文件夹时,显示文件差分内容

直接比较文件夹的话,不会显示文件内容的比较,使用-N的话,可以显示

diff -N ./temp/ ./work/

Linux diff命令_第6张图片

你可能感兴趣的:(Linux,linux,运维)