【Linux】diff命令使用
diff命令
是一个用于比较两个文件或目录之间差异的命令。它可以显示两个文件之间的行级别差异,并以易于阅读的格式输出结果。
著者
由保罗·艾格特、迈克·海特尔、大卫·海耶斯、理查德·史泰尔曼和Len Tower撰写。
diff命令 -Linux手册页
语法
diff [选项] [文件1] [文件2]
命令选项及作用
执行令 : diff --help
执行命令结果

参数
- -a或--text diff预设只会逐行比较文本文件。
- -b或--ignore-space-change 不检查空格字符的不同。
- -B或--ignore-blank-lines 不检查空白行。
- -c 显示全部内文,并标出不同之处。
- -C<行数>或--context<行数> 与执行"-c-<行数>"指令相同。
- -d或--minimal 使用不同的演算法,以较小的单位来做比较。
- -D<巨集名称>或ifdef<巨集名称> 此参数的输出格式可用于前置处理器巨集。
- -e或--ed 此参数的输出格式可用于ed的script文件。
- -f或-forward-ed 输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。
- -H或--speed-large-files 比较大文件时,可加快速度。
- -I<字符或字符串>或--ignore-matching-lines<字符或字符串> 若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
- -i或--ignore-case 不检查大小写的不同。
- -l或--paginate 将结果交由pr程序来分页。
- -n或--rcs 将比较结果以RCS的格式来显示。
- -N或--new-file 在比较目录时,若文件A仅出现在某个目录中,预设会显示:
- Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
- -p 若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。
- -P或--unidirectional-new-file 与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
- -q或--brief 仅显示有无差异,不显示详细的信息。
- -r或--recursive 比较子目录中的文件。
- -s或--report-identical-files 若没有发现任何差异,仍然显示信息。
- -S<文件>或--starting-file<文件> 在比较目录时,从指定的文件开始比较。
- -t或--expand-tabs 在输出时,将tab字符展开。
- -T或--initial-tab 在每行前面加上tab字符以便对齐。
- -u,-U<列数>或--unified=<列数> 以合并的方式来显示文件内容的不同。
- -v或--version 显示版本信息。
- -w或--ignore-all-space 忽略全部的空格字符。
- -W<宽度>或--width<宽度> 在使用-y参数时,指定栏宽。
- -x<文件名或目录>或--exclude<文件名或目录> 不比较选项中所指定的文件或目录。
- -X<文件>或--exclude-from<文件> 您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。
- -y或--side-by-side 以并列的方式显示文件的异同之处。
- --help 显示帮助。
- --left-column 在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
- --suppress-common-lines 在使用-y参数时,仅显示不同之处。
常用命令示例
命令:diff test8.text test8-2.text
比较 test8.text 和 test8-2.text 两个文件。
“1c1” 表示行号为 1 的那一行在两个文件中内容不同,左边的 “<” 表示这行在第一个文件中,右边的 “>” 表示这行在第二个文件中。

命令: diff -y -W 60 test8.text test8-2.text
并排格式输出。
- "|"表示前后2个文件内容有不同
- "<"表示后面文件比前面文件少了1行内容
- ">"表示后面文件比前面文件多了1行内容

命令: diff -q test8.text test8-2.text
检查两个文件是否不同
命令:diff -c test8.text test8-2.text
比较两个文件的差异并显示上下文。
命令: diff -u test8.text test8-2.text
比较两个文件的差异并显示统一格式。

命令: diff -r test1 test2
比较两个文件夹的差异。递归地比较test1 和test2 目录(包括子目录)中的所有文件,并列出它们之间的差异。

命令: diff -i test8.text test8-2.text
忽略大小写当比较两个文件。这对于只有大小写不同的文本非常有用。

命令: diff -B test8.text test8-2.text
忽略空白行比较文件的差异。

命令: diff -u test8.text test8-2.text > diff_patch.patch
将diff命令生成的补丁文件应用到其他文件。


相关文章:
【Linux】diff命令使用
diff命令 是一个用于比较两个文件或目录之间差异的命令。它可以显示两个文件之间的行级别差异,并以易于阅读的格式输出结果。 著者 由保罗艾格特、迈克海特尔、大卫海耶斯、理查德史泰尔曼和Len Tower撰写。 diff命令 -Linux手册页 语法 diff [选项] [文件1]…...
讯飞星火认知大模型与软件测试结合,提升软件质量与效率
随着人工智能技术的不断发展,越来越多的企业开始将其应用于软件开发过程中。其中,讯飞星火认知大模型作为一种基于深度学习的自然语言处理技术,已经在语音识别、机器翻译、智能问答等领域取得了显著的成果。而在软件测试领域,讯飞…...
【Flink on k8s】- 4 - 在 Kubernetes 上运行容器
目录 1、准备 k8s 集群环境、Docker 环境 2、启用 kubernetes 2.1 查询 k8s 集群基本状态...
软件重装或系统重装后避免重复踩坑
1. Office软件的坑在于字体又没了 Word字体库默认没有仿宋_GB2312和楷体仿宋_GB2312,需要手动添加。 提供如下两个下载链接,亲测有效: 仿宋_GB2312 楷体_GB2312 安装步骤:解压-复制.ttf文件至C:\Windows\Fonts 持续更新贴~...
【Jmeter】JSON Extractor变量包含转义字符,使用Beanshell脚本来消除
如果使用Jmeter的JSON Extractor提取的变量包含特殊字符,直接引用时会包含转义字符。可以使用Beanshell脚本来进行字符串转换,从而消除这些转义字符。 import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONArray; import com.ali…...
GO设计模式——5、建造者模式(创建型)
目录 建造者模式(Builder Pattern) 建造者模式的核心角色 优缺点 使用场景 注意事项 代码实现 建造者模式(Builder Pattern) 建造者模式(Builder Pattern)是将一个复杂对象的构建与它的表示分离&…...
《LeetCode力扣练习》代码随想录——字符串(反转字符串II---Java)
《LeetCode力扣练习》代码随想录——字符串(反转字符串II—Java) 刷题思路来源于 代码随想录 541. 反转字符串 II 模拟过程 class Solution {public String reverseStr(String s, int k) {if(s.length()1){return s;}char[] chs.toCharArray();for(int i…...
WMMSE方法的使用笔记
标题很帅 原论文的描述WMMSE的简单应用 无线蜂窝通信系统的预编码设计问题中,经常提到用WMMSE方法设计多用户和速率最大化的预编码,其中最为关键的一步是将原和速率最大化问题转化为均方误差最小化问题,从而将问题由非凸变为关于三个新变量的…...
MySQL核心知识点整理大全1-笔记
目录 MySQL 一、MySQL的基本概念 1.数据库 2.表 3.列 4.行 5.主键 6.索引 二、MySQL的安装与配置 1.下载MySQL安装包 2.安装MySQL 3.启动MySQL 4.配置MySQL a.设置监听端口和IP地址 b.设置数据存储路径 c.设置字符集和排序规则 5.测试MySQL 三、MySQL的基本操…...
理解输出电压纹波和噪声:来源与抑制
医疗设备、测试测量仪器等很多应用对电源的纹波和噪声极其敏感。理解输出电压纹波和噪声的产生机制以及测量技术是优化改进电路性能的基础。 1:输出电压纹波 以Buck电路为例,由于寄生参数的影响,实际Buck电路的输出电压并非是稳定干净的直流…...
uni-app 微信小程序之好看的ui登录页面(二)
文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…...
Textual Inversion
参考博客1:https://www.bilibili.com/read/cv25430752/...
笙默考试管理系统-MyExamTest----codemirror(47)
笙默考试管理系统-MyExamTest----codemirror(44) 目录 笙默考试管理系统-MyExamTest----codemirror(44) 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试…...
JVM中 Minor GC 和 Full GC 的区别
Java中的垃圾回收(Garbage Collection, GC)是自动内存管理的一部分,其主要职责是识别并清除程序中不再使用的对象来释放内存。Java虚拟机(JVM)在运行时进行垃圾回收,主要分为两种类型:Minor GC和…...
二十一章(网络通信)
计算机网络实现了多台计算机间的互联,使得它们彼此之间能够进行数据交流。网络应用程序就是在已连接的不同计算机上运行的程序,这些程序借助于网络协议,相互之间可以交换数据。编写网络应用程序前,首先必须明确所要使用的网络协议…...
[linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)
之前写过一篇是基于zabbix 5.4的实现文章,但是不太详细,最近已经有两个小伙伴在zabbix 6上操作,发现触发器没有str函数,所以更新一下本文,基于zabbix 6 0x01 来看看效果 高危指令出发问题告警: 发出邮件告…...
手机升级到iOS15.8后无法在xcode(14.2)上真机调试
之前手机是iOS14.2的系统,在xcode上进行真机测试运行良好,因为想要使用Xcode的Instruments功能,今天将系统更新到了iOS15.8 ,结果崩了 说是Xcode和手机系统不兼容不能进行真机测试。在网上查了好些方法,靠谱的就是下载相关版本的…...
安装TensorFlow2.12.0
文章目录 一、安装Anaconda步骤 1: 下载Anaconda步骤 2: 运行安装程序步骤 3: 选择安装路径步骤 4: 完成安装步骤 5: 启动Anaconda Navigator步骤 6: 创建和管理环境二、安装TensorFlow(一)Anaconda修改国内镜像源(二)安装CPU版TensorFlow2.12.0(三)查看TensorFlow版本…...
elasticsearch 索引数据多了怎么办,如何调优,部署?
当Elasticsearch索引的数据量不断增加时,可以考虑以下调优和部署措施: 增加索引规模:Elasticsearch支持动态增加索引,可以根据数据量的增长情况逐步增加新的索引。同时,也可以考虑使用分片技术,将数据分散…...
人工智能企业引入S-SDLC,推动安全能力大跃升,保障AI技术体系深化落地
某人工智能公司是国际知名的上市企业,核心技术处于世界前沿水平。多年来,该企业在智慧教育、智慧医疗、智慧城市、智慧司法、金融科技、智能汽车、运营商、消费者等领域进行深度技术赋能,深入推进各个行业的智能化、数字化转型建设。 人工智能…...
LangGPT:革新自然语言编程的结构化提示词框架
LangGPT:革新自然语言编程的结构化提示词框架 【免费下载链接】LangGPT LangGPT: Empowering everyone to become a prompt expert!🚀 Structured Prompt,Language of GPT, 结构化提示词,结构化Prompt 项目地址: https://gitcod…...
具身智能系统集成与计算效率优化路径探析
具身智能作为连接人工智能与物理世界的核心载体,通过融合感知、决策、执行等多模块实现自主交互,其系统集成的合理性与计算效率的高低,直接决定了智能体在复杂场景中的落地能力。当前,具身智能正从实验室走向产业化应用࿰…...
用Python代码和蒙特卡洛方法,手把手教你估算强化学习中的状态价值(附完整代码)
用Python实现蒙特卡洛方法估算强化学习状态价值的实战指南 马尔可夫决策过程(MDP)是强化学习的数学基础框架,而状态价值函数则是评估策略优劣的核心指标。许多初学者在理解抽象的状态价值概念时会遇到困难——这些数字究竟是如何从实际交互中…...
HybridCLR Generate All报错终极解决指南:UnityLinker.exe找不到HotUpdate.dll怎么办?
HybridCLR Generate All报错终极解决指南:UnityLinker.exe找不到HotUpdate.dll怎么办? 当你正在使用HybridCLR进行Unity热更新开发时,突然遇到Generate All报错,提示UnityLinker.exe无法解析HotUpdate.dll,这确实会让人…...
跨平台文件同步:OpenClaw+nanobot自动管理NAS文档
跨平台文件同步:OpenClawnanobot自动管理NAS文档 1. 为什么需要自动化文件管理? 作为一个长期被多设备文件同步问题困扰的用户,我一直在寻找一个既安全又灵活的解决方案。我的日常工作涉及MacBook、Windows台式机和家庭NAS之间的文件流转&a…...
医学影像与卫星图的救星?深入聊聊JPEG-LS算法在边缘计算设备上的应用优势
JPEG-LS算法:边缘计算时代的医学影像与卫星图像压缩利器 当一台CT扫描仪每秒产生数百张16位深度的医学影像,或一颗遥感卫星每天传回数TB的高清地表数据时,传统的图像压缩方案往往面临两难选择——要么牺牲宝贵的诊断细节,要么耗尽…...
Stable Diffusion ComfyUI进阶:局部重绘与智能扩图的实战技巧与创意应用
1. 局部重绘的核心原理与实战技巧 局部重绘是Stable Diffusion ComfyUI中最实用的功能之一,它允许你在不改变整体构图的情况下,对图像的特定区域进行重新绘制。这个功能背后的技术原理其实很有意思——它利用了潜在空间(latent space…...
Windows10下用VS2019编译UE4.27源码的完整避坑指南(附环境配置截图)
Windows 10下用VS2019编译UE4.27源码的完整避坑指南 第一次在Windows 10上编译UE4.27源码,就像在迷宫中寻找出口——每个转角都可能藏着意想不到的陷阱。作为一位经历过无数次编译失败的老兵,我深知那些看似简单的步骤背后隐藏的魔鬼细节。本文将带你避开…...
LeetCodehot100-2 两数相加
class Solution { public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {if (l1 nullptr) return l2;if (l2 nullptr) return l1;ListNode* head l1; // 保存头节点ListNode* prev nullptr; // 记录上一个节点,用于连接int carry 0;// 同时遍历…...
Pixel Fashion Atelier惊艳案例:‘赛博神社’主题皮装在明亮城镇UI下的生成
Pixel Fashion Atelier惊艳案例:‘赛博神社’主题皮装在明亮城镇UI下的生成 1. 项目概览 Pixel Fashion Atelier(像素时装锻造坊)是一款基于Stable Diffusion与Anything-v5的图像生成工作站。与传统AI工具不同,它采用了复古日系…...
