linux日常应用管理(2)---diff
来源:互联网 发布:领航软件官网 编辑:程序博客网 时间:2024/05/16 23:54
今天公司老大突然来了个需求,以后每次更新补丁的时候,都需要把服务器上的资源文件(配置文件)拿下来与需要更新的资源文件进行比对,确认后再放上去。
如果是1,2个的话,倒不是问题。win的下面这种工具很多,但是数量一多。确实很棘手。就想写个工具?不过我也不会C什么的。就写个脚本吧。
cygwin(win下的访UNIX系统)基本上我都是用这个来进行win服务器的操作的。(个人习惯linux。。。)
linux下有个工具diff比较工具,(different),和patch一起运用就是可以给差异文件打补丁。
diff file1 file2 直接比较file1和file2的差别。
a--add,c--change,d--delete
这里我只说几个有用的参数,diff -y -w file1 file2会将文件的对比差异信息输出在一行中
许多参数可以通过man查询,我不一一做介绍。
我的需求是需要将服务器上的文件夹resource拷贝到本地,然后将对应的新resource进行对比,
压缩打包--->传送--->本地解压--->对比
前几步不是这里的重点,略带一下。
ssh Username@IP "tar zcvf $PATH/resource.tar.gz $PATH/resource"
scp Username@IP:$PATH/resource.tar.gz $LOCAL_PATH/
接下来就是重点了,
diff是可以比对文件夹的,但是如果直接比对两个文件夹
需要加上-r参数,diff -r directory1/ directory2/
然后我想查看详细 可以输出到一个指定文件中,diff -r directory1/ directory2/ >> $LOCAL_PATH/diff.txt
因为我有很多服务器的resource需要对比,所以将所有的resource对比都追加到diff.txt下面,方便确认。
后来没事做了一下拓展。关于diff 和patch的运用。
diff -Naur file.old file.new > file.patch
patch -pN < patch_file.patch 更新
patch -R -pN < patch_file.patch 还原
-pN N代表number,取消几层目录
-R将新文件还原成旧文件
0 0
- linux日常应用管理(2)---diff
- linux日常应用管理(4)
- linux日常应用管理(1)---LVM,date
- linux日常应用管理(3)---syslog中央日志服务器
- linux日常管理命令2
- Linux学习笔记(系统日常管理-2)
- linux系统日常管理
- linux系统日常管理
- linux系统日常管理
- linux系统日常管理
- linux 系统日常管理
- Linux系统日常管理
- linux系统日常管理
- linux系统日常管理
- linux diff patch的应用
- linux日常管理命令1
- linux系统日常管理【转载】
- linux下版本管理diff与patch
- mhout in action : 13.4.1 阶段1(训练分类模型)的流程
- php学习笔记之1.1集成开发环境配置
- python 中 r+string的用法
- 朝花夕拾-工作一年后重拾c语言基础,与君共勉(二)
- dom4j api 详解
- linux日常应用管理(2)---diff
- ubuntu下安装ffmpeg,ffplay问题
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 在网页中JS函数自动执行常用三种方法
- 我的个人网站
- Java常用方法大全
- java设计模式11——组合模式(Composite)
- CentOS操作记录
- JS延迟加载代码[加快打开速度]