Linux中的版本控制---diff和patch命令
一.构造两个用于测试的文件
hello.txt:

world.txt:

二.用diff命令比较两个文本文件的差异
对这个两个文本文件执行diff‘命令,并通过输出重定向,将差异保存在diff.txt文件中
$ diff -u hello.txt world.txt > diff.txt
参数-u是使得差异输出中带有上下文

第1,2行中的三个减号标识原始文件,三个加号标识目标文件;
第3行表示在这个差异小节中,是从原始文件的第1行开始之后的3行,目标文件从第1行到第3行;
从第4行开始的减号表示只在原始文件中出现的字段,加号表示只在目标文件中出现的字段,无加减号的行表示两个文件相同的字段;
三.文件的恢复
1.删除目标文件world.txt后,利用patch命令,原始文件hello.txt和差异文件diff.txt进行恢复

2.删除原始文件hello.txt后,利用patch命令,目标文件world.txt 和差异文件diff.txt进行恢复

四.总结
1.利用diff和patch命令还可以对目录进行比较操作;
2.diff和patch命令的缺陷是不能对二进制文件进行处理;
3.当然,现在对于源代码版本控制都是使用集中式版本控制SVN或者分布式版本控制Git了
Linux中的版本控制---diff和patch命令的更多相关文章
- Linux下diff与patch命令的配合使用
在Linux下,diff与patch命令配合使用可以进行简单的代码维护工作. [A] diff diff命令用于比较文件的差异,可以用于制作patch文件.但此命令参数众多.格式多样,所以在此仅介绍较 ...
- Linux基础知识第九讲,linux中的解压缩,以及软件安装命令
目录 Linux基础知识第九讲,linux中的解压缩,以及软件安装命令 一丶Linux Mac Windows下的压缩格式简介 2.压缩以及解压缩 3.linux中的软件安装以及卸载 1.apt进行安 ...
- [转帖]Linux中的15个基本‘ls’命令示例
Linux中的15个基本‘ls’命令示例 https://linux.cn/article-5109-1.html ls -lt 和 ls -ltr 来查看文件新旧顺序. list time rese ...
- 在Linux中新增与删除用户可以使用命令:Useradd
在Linux中新增与删除用户可以使用命令:Useradd 我们先使用man命令理解一下Useradd的用法 新增与删除用户操作需要先获取高级用户权限 输入命令:sudo -i 确定后输入高级用户密码 ...
- Linux中查看各文件夹大小命令:du -h --max-depth=1
Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...
- Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令
Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...
- [转帖]linux中systemctl详细理解及常用命令
linux中systemctl详细理解及常用命令 2019年06月28日 16:16:52 思维的深度 阅读数 30 https://blog.csdn.net/skh2015java/article ...
- linux中systemctl详细理解及常用命令
linux中systemctl详细理解及常用命令 https://blog.csdn.net/skh2015java/article/details/94012643 一.systemctl理解 Li ...
- linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用
linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...
随机推荐
- ALM11用例测试类型
默认一般都是选择的是manual
- c# sql连接数据库
using System.Data.SqlClient; private static string connectionString ="Data Source=.\\HS;Initial ...
- C#中反射的使用(How to use reflect in CSharp)(1)
最近想做一个插件式的软件给公司的监控用,初步的想法是使用C#去反射Dll,Invoke其中的方法.此文仅供开发参考,不涉及原理,98%的代码以及2%的废话. 测试Solution是这么建的(.NET ...
- Triangles
1010: Triangles Time Limit: 2 Sec Memory Limit: 128 MB Submit: 18 Solved: 8 Description You are ...
- MFC 学习 之 菜单栏的添加
运行环境:vc++ 6.0 win81.通过资源 添加一组 菜单栏 如下: 2.在OnInitDialog()中添加如下代码: // Add "About..." men ...
- CRM-BP相关FUNCTION
获取BP的地址信息:BUPA_ADDRESS_GET_DETAIL 修改BP的信息:CRM_WAP_BP_CHANGE BUTO50存放2个BP之间的关系 获取BP的角色 BAPI_BUPA_ROLE ...
- git克隆远程项目分支到本地对应分支
最近公司改用git了,研究了一下如何把远程的代码克隆到本地. 1. 配置对应信息 git config --global user.name git config --global user.emai ...
- Hive权限介绍
一.开启权限 眼下hive支持简单的权限管理,默认情况下是不开启.这样全部的用户都具有同样的权限.同一时候也是超级管理员.也就对hive中的全部表都有查看和修改的权利,这样是不符合一般数据仓库的安全原 ...
- android Animation 动画效果介绍
Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动 ...
- Upgrading to MySQL 5.7---focusing on temporal types
https://www.percona.com/blog/2016/04/27/upgrading-to-mysql-5-7-focusing-on-temporal-types/ http://ww ...