本文将要为您介绍的是文件/目录对比:diff命令,教程操作步骤:命令格式

diff [参数] [文件1或目录1] [文件2或目录2]

Linux diff命令用于比较文件的差异。

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

如果指定要比较目录,diff会比较目录中相同文件名的文件,但不会比较其中子目录。

diff程序的输出被称为补丁(patch),Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c

打补丁:patch file patch.log

命令参数

参数

描述

-行数

指定要显示多少行的文本。此参数必须与-c或者-c参数一并使用。

-a

或者--text,diff预设只会逐行比较文本文件

-b

或--ignore-space-change ,不检查空格字符的不同。

-B

或--ignore-blank-lines ,不检查空白行。

-c

显示全部内容,并标出不同之处

-C行数

或--context行数 与执行"-c-行数"指令相同。

-i

或--ignore-case ,不检查大小写的不同。

-p

若比较的文件为C语言的程序码文件时,显示差异所在的函数名称

-N

或--new-file ,在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

-P

或--unidirectional-new-file ,与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。

-r

比较子目录中的文件

-v

显示版本信息

-w

或--ignore-all-space , 忽略全部的空格字符。

-W

或--width , 在使用-y参数时,指定栏宽。

-x

或--exclude , 不比较选项中所指定的文件或目录。

-X

或--exclude-from , 您可以将文件或目录类型存成文本文件,然后在=中指定此文本文件。

-y

或--side-by-side ,以并列的方式显示文件的异同之处。

--left-column

在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。

--suppress-common-lines

在使用-y参数时,仅显示不同之处。

具体使用

默认格式的diff:diff file1 file2

2c2

< world

---

> world2

3a4

> hell

5d5

< river

它分成三个部分:前面的"4",表示f1的第4行有变化;中间的"c"表示变动的模式是内容改变(change),其他模式还有"增加"(a,代表addition)和"删除"(d,代表deletion);后面的"4",表示变动后变成f2的第4行。

c:change,内容改变

a:addition,增加

d:deletion,删除

---用于分割f1和f2

上下文格式的diff:diff file1 file2 -c

-> autotest-runtask diff 1.txt 2.txt -c

*** 1.txt2020-08-09 18:09:24.000000000 +0800

--- 2.txt2020-08-09 18:09:10.000000000 +0800

***************

*** 1,5 ****

hello

! world

goodbye

moutain

- river

--- 1,5 ----

hello

! world2

goodbye

+ hell

moutain

结果分成四部分:

第一部分的两行,显示两个文件的基本情况:文件名和时间信息

*** 表示变动前的文件

--- 表示变动后的文件

第二部分:15个星号,将文件的基本情况和变动内容分割开

第三部分:显示变动前的文件

1,5,表示行号

文件内容的每一行最前面,还有一个标记位:

空:无变化;

!:该行有改动;

-:该行被删除;

+:该行新增

第四部分:显示变动后的文件

合并格式的diff:diff file1 file2 -u

➜ autotest-runtask diff 1.txt 2.txt -u

--- 1.txt2020-08-09 18:09:24.000000000 +0800

+++ 2.txt2020-08-09 18:09:10.000000000 +0800

@@ -1,5 +1,5 @@

hello

-world

+world2

goodbye

+hell

moutain

-river

第一部分:文件基本信息

第二部分:变动的部分用两个@@作为起首和结束

-:表示第一个文件;+表示第二个文件

第三部分:变动的具体内容

并排格式的diff:diff file1 file2 -y

➜ autotest-runtask diff 1.txt 2.txt -y

hellohello

world |world2

goodbyegoodbye

>hell

moutainmoutain

river <

|:表示前后2个文件内容有不同

>:表示前面文件比后面文件少了一行内容

比较目录:diff 目录1 目录2

只显示不同行:diff -r 目录1 目录2 -y --suppress-common-lines文件/目录对比:diff命令就为您介绍到这里,感谢您关注懒咪学编程c.lanmit.com.

本文地址:https://c.lanmit.com/czxt/Linux/119233.html

linux 文件目录对比,文件/目录对比:diff命令相关推荐

  1. 在Linux中传输文件/目录的scp命令

    Linux管理员应该熟悉命令行环境.由于在Linux服务器中通常不安装GUI模式.SSH可能是使得Linux管理员通过远程安全方式管理服务器的最流行协议.与SSH命令一起内建的是SCP命令.SCP用于 ...

  2. 好物分享 | 也许是最好用的文件/目录对比软件

    Araxis Merge,这是我至今用过最好用的文件/目录对比工具. Araxis Merge 是一款可视化文件对比合并同步工具:文本比较.图像比较.二进制比较.文件夹比较等功能一个不少,能够快速精确 ...

  3. Linux scp远程文件/目录传输 用ps和grep命令寻找僵尸进程

    Linux scp远程文件/目录传输 现在越来越多的朋友有租用vps其中相当一部分都是基于linux的,那么在日常使用中使用最多的估计就是上传web文件了. 因此scp命令的使用概率也越来越高,大概的 ...

  4. 你一定要知道的关于Linux文件目录操作的12个常用命令

    博客园 首页 新随笔 联系 管理 订阅 随笔- 26  文章- 1  评论- 18  你一定要知道的关于Linux文件目录操作的12个常用命令 转自:http://www.cnblogs.com/yo ...

  5. Linux里新建文件/目录的默认权限

    Linux里新建文件/目录的默认权限 新建文件默认权限为666,新建目录默认权限为777. 但是要"减去" umask的值,umask的值可以使用umask命令看到,一般情况下,r ...

  6. 文件/目录权限设置命令:chmod

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...

  7. linux中对文件进行归档,linux归档压缩命令 linux中对文件进行归档的命令为

    13. 为了将当前目录下的归档文件myftp.tgz解压缩到/tmp目录下,用户可以使用命令 A. tar xvzf myftp.tgz –C /tmp B. tar : xvzf : myftp.t ...

  8. diff命令两个服务器文件,linux 比较两个文件夹不同 (diff命令, md5列表)

    比较文件夹diff,可以直接使用diff命令 [root@~]# diff -urNa dir1 dir2 -a Treat all files as text and compare them li ...

  9. linux 比较两个文件夹不同 (diff命令, md5列表)

    比较文件夹diff,可以直接使用diff命令 [root@~]# diff -urNa dir1 dir2 -a Treat all files as text and compare them li ...

  10. 文件/目录权限相关命令:chmod、chown、umask、lsattr/chattr命令解析

    2019独角兽企业重金招聘Python工程师标准>>> 本文索引: 文件/目录权限修改:chmod 预备知识 几种具体用法 重要参数: -R 所有者/所属组修改: chown 几种具 ...

最新文章

  1. alert,confirm和prompt
  2. QT,QVector 基本用法,遍历[实例讲解]
  3. jmeter设置全局变量
  4. [Step By Step]SAP HANA PAL指数回归预测分析Exponential Regression编程实例EXPREGRESSION(模型)...
  5. HDU 4281 Judges' response [MTSP]
  6. 使用Java EE安全性和JBoss AS 7.x保护JSF应用程序的安全
  7. “微信勒索病毒”全纪实:打扰了,我只是病毒界的杨超越
  8. 蓝桥杯 ADV-176 算法提高 陶陶摘苹果
  9. Linux命令第一篇
  10. 斯坦福NLP笔记6 —— Defining Minimum Edit Distance
  11. 软件测试---如何选择合适的正交表
  12. 手机端 H5 语音识别转化为文字 demo
  13. python getchar函数_linux命令行下用getchar()函数捕获按键
  14. RB女歌手宇西个人单曲《盛宴》上线 诠释独自疗伤的故事
  15. 使用笔记本的不良习惯
  16. TIA博途中如何为PLC分配IP地址?
  17. Emgucv图像处理二
  18. DB2001 深入了解DB2 reorg
  19. python写音乐播放器_AJ Kipper:用Python写一个简易的MP3播放器
  20. Luna承诺简化JavaScript测试

热门文章

  1. python 百度ai 牌照识别_Python用百度AI实现文字识别功能!(银行卡,营业执照,等识别)...
  2. JAVA简历解析(无规则简历)
  3. Android 融云SDK-即时通讯IM(附源码)
  4. 10本Java架构师必读书籍推荐
  5. python基于Suprise模块构建推荐算法模型,实现电影、书籍等资源的推荐
  6. 金万维异速联服务器重装,金万维异速联服务器配置说明
  7. Final Scrum
  8. QTP基础教程(讲义)《软件测试技术》
  9. SpringMVC + JUnit4 单元测试 - Controller 测试
  10. 百度网盘 自定义分享密码 提取码