diff命令和vimdiff命令

news2025/1/22 9:14:48

文章目录

    • diff命令
      • 基本用法
      • 选项
      • 示例
    • vimdiff命令
      • 命令格式
      • 选项说明
      • 常用操作

diff命令

diff命令是一个文本比较工具,用于比较两个文件的内容,它会逐行比较两个文件的内容并输出它们之间的差异。下面是diff命令的常用选项和用法:

基本用法

比较两个文件的内容:

diff file1 file2

在输出的信息中:

  • <表示第一个文件中存在但第二个文件中不存在的行
  • >表示第二个文件中存在但第一个文件中不存在的行
  • c表示两个文件中存在差异的行
  • !表示两个文件中存在差异的行,但是无法比较

选项

  • -r--recursive:递归比较目录下的所有文件
  • -a--text:将二进制文件视为文本文件进行比较
  • -i--ignore-case:忽略大小写进行比较
  • -w--ignore-all-space:忽略所有空格字符进行比较
  • -B--ignore-blank-lines:忽略空白行进行比较
  • -u--unified:输出统一格式的差异信息
  • -q--brief:仅输出文件是否不同的信息,不输出差异内容
  • -s--report-identical-files:当文件相同时也输出信息

示例

范例文件

[root@localhost ~]# cat csq.txt 
I like LINUX 
I don't speak English, which makes my studies very difficult
but it doesn't affect my love for LINUX
[root@localhost ~]# cat zhw.txt 
I like Linux 
I can speak English, which makes my studies very difficult
but it doesn't affect my love for Linux
  1. 比较两个文件的内容:
[root@localhost ~]# diff csq.txt zhw.txt 
1,3c1,3
< I like LINUX 
< I don't speak English, which makes my studies very difficult
< but it doesn't affect my love for LINUX
---
> I like Linux 
> I can speak English, which makes my studies very difficult
> but it doesn't affect my love for Linux
  1. 比较两个目录下的所有文件:
[root@localhost ~]# diff -r /home/ftptest/ /home/zhw/
只在 /home/zhw/ 存在:.bash_history
只在 /home/ftptest/ 存在:hosts
只在 /home/ftptest/ 存在:sysctl.conf
只在 /home/ftptest/ 存在:test.txt
  1. 忽略大小写进行比较:
[root@localhost ~]# diff -i zhw.txt csq.txt 
2c2
< I can speak English, which makes my studies very difficult
---
> I don't speak English, which makes my studies very difficult
  1. 输出统一格式的差异信息:
[root@localhost ~]# diff -u csq.txt zhw.txt 
--- csq.txt     2023-05-15 08:52:47.487039081 +0800
+++ zhw.txt     2023-05-15 08:53:33.503040150 +0800
@@ -1,3 +1,3 @@
-I like LINUX 
-I don't speak English, which makes my studies very difficult
-but it doesn't affect my love for LINUX
+I like Linux 
+I can speak English, which makes my studies very difficult
+but it doesn't affect my love for Linux
  1. 仅输出文件是否不同的信息,不输出差异内容:
[root@localhost ~]# diff -q csq.txt zhw.txt 
文件 csq.txt 和 zhw.txt 不同

vimdiff命令

vimdiffvim编辑器自带的文件差异比较工具,它可以让用户在一个终端窗口中同时打开两个文件,并将它们的差异以不同的颜色进行标示,从而方便用户进行比较和合并操作。下面是vimdiff命令的详细解释和使用方法:

命令格式

vimdiff [选项] 文件1 文件2

选项说明

  • -d:在左右排列的两个窗口中同时打开 csq.txt 和 zhw.txt 两个文件,如下图所示
    image-20230515103140926

  • -o:以一上一下的方式打开这csq.txt和zhw.txt 两个文件,如图所示:

    image-20230515103249778

常用操作

  • 上下左右箭头:在左右两个窗口中移动光标
  • Ctrl-w + w:在左右两个窗口之间切换焦点
  • Ctrl-w + r:将或上下两个窗口的位置交换
  • ]c:移动光标到下一个差异处
  • [c:移动光标到上一个差异处
  • do:将光标所在处的修改应用到另一个文件中
  • dp:将光标所在处的修改从另一个文件中复制到当前文件中
  • :diffupdate:更新差异信息
  • :wqa:保存并退出
  • :qa:强制退出
  • zo:打开折叠,显示差异处的内容
  • zc:关闭折叠,隐藏差异处的内容

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

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

相关文章

数据信息汇总的7种基本技术总结

数据汇总是一个将原始数据简化为其主要成分或特征的过程&#xff0c;使其更容易理解、可视化和分析。本文介绍总结数据的七种重要方法&#xff0c;有助于理解数据实质的内容。 1、集中趋势:平均值&#xff0c;中位数&#xff0c;众数 集中趋势是一种统计测量&#xff0c;目的…

RFID系统简介:优点、应用与发展前景

一、介绍RFID系统 RFID系统全称是Radio Frequency Identification&#xff0c;是一种通过电磁场自动识别标记&#xff08;Tag或RFID标签&#xff09;并读取相关数据的技术。与条形码技术相比&#xff0c;RFID系统最大的特点就是可以自动识别、无须接触扫描&#xff0c;并且可以…

MySQL报错:Got an error reading communication packets

error reading 关闭连接 通常一旦连接建立&#xff0c;MySQLD端的线程会堵塞在poll上&#xff0c;而poll的就是连接socket的fd&#xff0c;等待读取命令&#xff0c;也就是读取MySQL net packet的header。同时如果是poll timeout超时则设置为SOCKET_ETIMEDOUT 这就是我们平时说…

ResNet 原论文及原作者讲解

ResNet 论文摘要1. 引入2. 相关工作残差表示快捷连接 3. 深度残差学习3.1. 残差学习3.2. 快捷恒等映射3.3. 网络体系结构普通网络 plain network残差网络 residual network 3.4. 实施 4. 实验4.1. ImageNet分类普通的网络 plain network残差网络 residual network恒等vs.快捷连…

ribbon的使用

什么是ribbon Ribbon是Netflix公司提供的一个基于HTTP和TCP的客户端负载均衡工具。 Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具&#xff0c;Ribbon客户端组件提供一系列的完善的配置&#xff0c;如超时&#xff0c;重试等。通过Load Balancer获取…

随笔:mysql的主主同步

背景&#xff1a; nginx负载均衡和双击热备下&#xff0c;要求支持mysql的test库的主主同步&#xff0c;同时需要豁免特定的三张配置表。 实现步骤&#xff1a; 1. 查看防火墙是否是关闭状态。systemctl status firewalld 2. 修改配置&#xff0c;增加以下内容。vi /etc/my.cnf…

利用Github Action备份Docker容器中的数据库

利用Github Action备份Docker容器中的数据库 本文方案仅供技术参考与娱乐&#xff01; 前言 数据很重要&#xff0c;所以我们要经常备份。 那么怎么备份呢&#xff1f;假如我们使用云厂商的数据库&#xff0c;里面已经自带了快照和备份功能了&#xff0c;只要你愿意花钱&…

golang 使用 OpenTelemetry 实现跨服务 全链路追踪

使用 OpenTelemetry 链路追踪说明 工作中常常会遇到需要查看服务调用关系,比如用户请求了一个接口接口会调用其他grpc,http接口,或者内部的方法这样的调用链路,如果出现了问题,我们需要快速的定位问题,这时候就需要一个工具来帮助我们查看调用链路OpenTelemetry就是这样一个工…

力扣总结,深度优先题

LCP 67. 装饰树 –链接– 中等 10 相关企业 力扣嘉年华上的 DIY 手工展位准备了一棵缩小版的 二叉 装饰树 root 和灯饰&#xff0c;你需要将灯饰逐一插入装饰树中&#xff0c;要求如下&#xff1a; 完成装饰的二叉树根结点与 root 的根结点值相同 若一个节点拥有父节点&#x…

用Java开发的建站神器JPress

什么是 JPress &#xff1f; JPress 是一个使用 Java 开发的、类似 WordPress 的产品&#xff0c;支持多站点、多语种自动切换等。&#xff08;JPress 始于2015 年&#xff09; 目前已经有 10w 网站使用 JPress 进行驱动&#xff0c;其中包括多个政府机构&#xff0c;200 上市公…

HashMap 扰动函数、负载因子、扩容链表拆分

文章目录 1.扰动函数2.初始容量3.负载因子4.扩容链表拆分 1.扰动函数 在jdk8中&#xff0c;hashmap有这样一段代码&#xff0c;他叫扰动函数&#xff0c;目的是优化散列效果 static final int hash(Object key) {int h;return (key null) ? 0 : (h key.hashCode()) ^ (h &…

初识Java多线程编程

文章目录 一、线程的状态二、线程的常见属性三、多线程编程Thread类常用构造方法1.继承Thread类2.实现Runnable接口3.匿名内部类实现4.lambda 表达式创建 Runnable 子类对象 四、线程的常见方法 一、线程的状态 //线程的状态是一个枚举类型 Thread.State public class ThreadS…

【C语言】结构体——基础篇

结构体 为什么需要结构体&#xff1f;结构体类型的定义结构体变量结构体变量的定义结构体变量的引用结构体变量的初始化 结构体嵌套 为什么需要结构体&#xff1f; &#x1f4ab;首先&#xff0c;来举一个例子看一下为什么需要结构体。   在学籍管理系统中&#xff0c;要存储…

驱动开发:内核远程堆分配与销毁

在开始学习内核内存读写篇之前&#xff0c;我们先来实现一个简单的内存分配销毁堆的功能&#xff0c;在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间&#xff0c;一般而言内核中提供了ZwAllocateVirtualMemory这个函数用于专门分配虚拟空间&#xff0c;而与之相对应…

MATLAB绘制动画(二)擦除动画

如果我们在绘制图形之后将原有的图形擦除&#xff0c;并重新绘制&#xff0c;看上去就像动画了 示例: t 0; m [sin(t);cos(t)]; p plot(t,m,EraseMode,background,MarkerSize,5); x -1.5*pi; axis([x x2*pi -1.5 1.5]); grid onfor i 1:100t [t 0.1*i];m [m [sin(0.1*i…

【LeetCode: 97. 交错字符串 | 暴力递归=>记忆化搜索=>动态规划 | 位置对应】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

校园安全,一键报警主机助力保障

校园安全&#xff0c;一键报警主机助力保障 随着社会发展和科技进步&#xff0c;校园安全问题日益受到重视。如何保障师生们的安全成为了学校一项重要任务。而校园可视一键报警主机就是一种非常有效的安保设备。 这种报警主机集合了视频监控、安全防范、数据处理等多个功能&a…

asm 加盘 udev 重启 导致网络异常

Network interface going down when dynamically adding disks to storage using udev in RHEL 6 (Doc ID 1569028.1)正在上传…重新上传取消To Bottom In this Document APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Oracle Net Servi…

阿里国际、Lazada、eBay如何提高转化率?测评养号优化方式是什么

转化率是卖家在分析复盘时非常关键的因素&#xff0c;转化率的高低直接影响着卖家目前的关键词listing或者商品描述是否符合&#xff0c;消费者的满意度。 1.调查获客&#xff0c;明确分析市场需求 这是在产品上架之前必须明确的重要环节。如果市场上对于一个产品接受率低&am…

ChatGPT有中文版吗?

2023年最热的技术话题是什么&#xff1f;毫无疑问是人工智能&#xff0c;特别是AIGC领域。其中又以ChatGPT为最热门产品。ChatGPT是一个革命性的人工智能产品&#xff0c;能对我们的生产生活产生巨大的影响。然而&#xff0c;有网友担心ChatGPT是西方开发的AI工具&#xff0c;能…