【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命令生成的补丁文件应用到其他文件。




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/205326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【java设计模式】——代理设计模式,两种举例说明

代理设计模式 1.介绍 Spring 框架中AOP底层使用动态代理设计模式。通过学习动态代理设计模式可以很好的理解Spring框架AOP底层 代理模式&#xff08;Proxy&#xff09;是GoF23种设计模式之一。所谓代理模式是指客户端并不直接调用实际的对象&#xff0c;而是通过调用代理&am…

基于ssm家庭理财系统源码和论文

基于ssm家庭理财系统源码和论文743 idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 环境&#xff1a; jdk8 tomcat8.5 开发技术 ssm 摘要 随着Internet的发展&#xff0c;人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化&#xff…

【文件上传系列】No.0 利用 FormData 实现文件上传、监控网路速度和上传进度(原生前端,Koa 后端)

利用 FormData 实现文件上传 基础功能&#xff1a;上传文件 演示如下&#xff1a; 概括流程&#xff1a; 前端&#xff1a;把文件数据获取并 append 到 FormData 对象中后端&#xff1a;通过 ctx.request.files 对象拿到二进制数据&#xff0c;获得 node 暂存的文件路径 前端…

PDF编辑器免费版有哪些?哪个好用?

日常工作和学习中,普通的PDF的阅读器通常无法进行编辑,更别说逆向导出成为Word、PPT或者Excel了。而且。市场上很多PDF编辑器还要收费。那么问题来了,PDF编辑器免费版有哪些呢?这就给大家安利几款,强烈建议收藏! PDF编辑器免费版一:PDF24 这款编辑器的功能有主要有PDF的合并、…

LiDAR 城市模型的 3D Python 工作流

1.引言 LiDAR&#xff08;Light Detection and Ranging&#xff09;是一种通过测量激光束从发射到返回的时间来测量距离&#xff0c;从而生成物体的三维表面模型的技术。这种技术在城市建模中具有广泛的应用&#xff0c;可以用于城市规划、环境监测、交通仿真等领域。而使用Pyt…

Linux查看命令的绝对路径

linux查看命令的绝对路径 在Linux中&#xff0c;可以使用以下命令来查看命令的绝对路径&#xff1a; 1、which 命令名 例如&#xff0c;要查看chronyc命令的绝对路径&#xff0c;可以运行&#xff1a; which chronyc 2、whereis 命令名 例如&#xff0c;要查看chronyc命令…

HMMER学习——(待完善)

HMMER profile HMM files A HMMER profile file looks like this, with …’s marking elisions made for clarity and space: 1.全基因组基因家族的分析系列之HMMER3.1使用 2. hmmalign - align sequences to an HMM profile

springboot集成邮箱验证功能

准备工作 开启SMTP服务 前往你的邮箱网站&#xff0c;以网易邮箱为例&#xff0c;打开网易邮箱地址&#xff0c;登录你的邮箱&#xff0c;进入邮箱管理后台界面。点击“设置”》》“POP3/SMTP/IMAP”后&#xff0c;点击开启SMTP服务即可。 技术实现 Spring Boot 发送邮件验证…

linux学习之详解文件

目录 1.先认识文件 2.c语言中常用文件接口 fopen&#xff08;打开文件&#xff09; 3.系统接口操作文件 open write 文件的返回值以及打开文件的本质 理解struct_file内核对象 了解文件描述符&#xff08;fd&#xff09;分配规则 重定向 dup接口 标准错误流 文件缓冲…

YITH WooCommerce Product Bundles Premium电商商城产品捆绑销售高级版

点击阅读YITH WooCommerce Product Bundles Premium电商商城产品捆绑销售高级版原文 YITH WooCommerce Product Bundles Premium电商商城产品捆绑销售高级版的作用是在您的商店中创建特别优惠&#xff0c;将产品捆绑在一起提供折扣和特价。 您如何从中受益&#xff1a; 您将…

Swift 中 User Defaults 的读取和写入

文章目录 前言介绍 User Defaults共享 User DefaultsUser Defaults 存储数据类型响应更改监控 User Defaults 更改覆盖User Defaults 设置考虑的替代方案Keychain 用于安全性用于跨平台的 CloudKit 结论 前言 User Defaults 是 Swift 应用程序存储在应用启动之间保持的首选项的…

Nginx实战教程二

一.介绍 本文介绍SPRINGBOOTVUE项目配置API服务器的两种情况 NGINX 配置VUE项目 二.vue项目和后端api接口不在同一台服务器 如果打包好的vue项目应用(dist) 和后端 api 接口没有运行在同一个主机上 此时需要在开发环境下将 API 请求代理到 API 所在服务器。通过配置 vue.confi…

基于ssm实验室课程管理系统源码和论文

idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 环境&#xff1a; jdk8 tomcat8.5 摘 要 随着科学实验规模的不断扩大&#xff0c;实验室课程数量的急剧增加&#xff0c;有关实验室课程的各种信息量也在不断成倍增长。面对庞大的信息量&#xff0c;就需要有…

HBase 使用JDK21

HBase 使用JDK21 启动zookeeper和hadoop 创建软件目录 mkdir -p /opt/soft cd /opt/soft下载软件 wget https://dlcdn.apache.org/hbase/2.5.6/hbase-2.5.6-hadoop3-bin.tar.gz解压 hbase tar -zxvf hbase-2.5.6-hadoop3-bin.tar.gz修改 hbase 目录名称 mv hbase-2.5.6-had…

一则广告,一个故事,这就我选择学习计算机专业的两个原因

还记得当初自己为什么选择计算机&#xff1f; 现在回想起来&#xff0c;当初驱使自己选择学习计算机专业的原因&#xff0c;一共有两个&#xff1a; 一、一则长城电脑的广告。 上个世纪80年代&#xff0c;我还在读小学&#xff0c;当时在中央电视台上经常播放着的长城电脑的一则…

Abaqus基础教程--胶合失效仿真

胶合是电子行业中常见的连接方式&#xff0c;abaqus中常用cohesive单元或者cohesive接触两种方法进行胶合失效仿真&#xff0c;这两种方式操作方法有所差别&#xff0c;但结果一般大同小异。 本例模型比较简单&#xff0c;建模过程从略&#xff0c;使用静态分析&#xff0c;使…

【GAMES101】三维变换

games101的第四节课讲了三维变换和观察变换&#xff0c;我们这里先记录一下三维变换的知识&#xff0c;后面再讲观察变换 齐次坐标下的三维变换 类似于解决之前二维变换平移的问题&#xff0c;三维变换下用齐次坐标通过增加一个维度来表示&#xff0c;第四个维度为1表示这是个…

无敌是多么的寂寞!一本书讲透Java多线程!吊打多线程从原理到实践!

摘要 互联网的每一个角落&#xff0c;无论是大型电商平台的秒杀活动&#xff0c;社交平台的实时消息推送&#xff0c;还是在线视频平台的流量洪峰&#xff0c;背后都离不开多线程技术的支持。在数字化转型的过程中&#xff0c;高并发、高性能是衡量系统性能的核心指标&#xff…

vue2+electron桌面端一体机应用

vue2+electron项目 前言:公司有一个项目需要用Vue转成exe,首先我使用vue-cli脚手架搭建vue2项目,然后安装electron 安装electron 这一步骤可以省略,安装electron-builder时会自动安装electron npm i electron 安装electron-builder vue add electron-builder 项目中多出…

(NeRF学习)3D Gaussian Splatting Instant-NGP

学习参考&#xff1a; 3D Gaussian Splatting入门指南【五分钟学会渲染自己的NeRF模型&#xff0c;有手就行&#xff01;】 三维重建instant-ngp环境部署与colmap、ffmpeg的脚本参数使用 一、3D Gaussian Splatting &#xff08;一&#xff09;3D Gaussian Splatting环境配置…