Linux下Diff命令

一般正常比较两个文件用vimdiff,算是直接进入vim界面,如果比较两个文件夹下面的文件,可以用diff,注意,这里只会比较文件夹下面的同名文件,他会列出不一样的点.

参考Linux下Diff命令使用方法

diff

Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

  1》Diff命令的功能

  Linux中Diff命令的功能为逐行比较两个文本文件,列出其不同之处。它对给出的文件进行系统的检查,并显示出两个文件中所有不同的行,不要求事先对文件进行排序。

  2》语法

  diff [options] file1 file2

  该命令告诉用户,为了使两个文件file1和file2一致,需要修改它们的哪些行。如果用”-”表示file1或file2,则表示标准输入。如果file1或file2是目录,那么diff将使用该目录中的同名文件进行比较。

  3》[options]主要参数

  -a:将所有文件当作文本文件来处理。

  -b或–ignore-space-change  忽略空格造成的不同。

  -B或–ignore-blank-lines  忽略空行造成的不同。

  -c:使用纲要输出格式。

  -H:利用试探法加速对大文件的搜索。

  -I:忽略大小写的变化。

  -n –rcs:输出RCS格式。

  -N或–new-file  在比较目录时,若文件A仅出现在某个目录中,www.linuxidc.com会显示:Only in目录;文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

  -r或–recursive  比较子目录中的文件。

  -u,-U《列数》或–unified=《列数》  以合并的方式来显示文件内容的不同。

  4》使用方法的实例说明

  例如:

diff /usr/xu mine

  把目录/usr/xu 中名为mine的文件与当前目录中的mine文件进行比较。

  通常输出由下述形式的行组成:

  n1 a n3,n4

  n1,n2 d n3

  n1,n2 c n3,n4 这些行类似ed命令把filel转换成file2。字母(a、d和c)之前的行号(n1,n2)是针对file1的,其后面的行号(n3,n4)是针对file2的。字母a、d和c分别表示附加、删除和修改操作。

  在上述形式的每一行的后面跟随受到影响的若干行,以”《”打头的行属于第一个文件,以”》”打头的行属于第二个文件。

  diff能区别块和字符设备文件以及FIFO(管道文件),不会把它们与普通文件进行比较。

  如果file1和file2都是目录,则diff会产生很多信息。

  5》diff最常用的功能

  diff有很多功能平时我们不常用到,最常用的功能莫过于生成patch文件了:

  diff -urN old/ new/ 》 mysoft.patch

  参数 -u 表示使用 unified 格式,-r 表示比较目录,-N 表示将不存在的文件当作空文件处理,这样新添加的文件也会出现在patch文件中。

  然后在需要应用patch的地方使用下述命令即可:

  patch -p0 《 mysoft.patch

  diff的 -y 命令

(长格式为 –side-by-side)可以将屏幕分成左右两部分,来比较两个文件之间的差异。许多图形化的比较工具都有这个功能,但如果只能使用命令行,这个参数 就相当有用了。如果要改变左右各部分的宽度,可以通过 -W (–width)参数来指定。

  –ignore-blank-lines 参数可以不检查空白行。这样DOS格式和Unix格式的文件互相比较时,就不至于因为换行符不一致而出现大量的差异。

时间: 2024-10-14 09:27:33

Linux下Diff命令的相关文章

linux下svn命令大全

linux下svn命令大全 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m "LogMessage

linux下tar命令详解

 linux下tar命令详解  tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.tar可用于建立.还原.查看.管理文件,也可方 便的追加新文件到备份文件中,或仅更新部分的备份文件,以及解压.删除指定的文件.熟悉其常用参数,能方便日常的系统管理工作. 一.版本 还是那句,不同的操作系统,tar的命令参数是有点区别的: 引用 # tar --version tar (GNU tar) 1.

[转载]linux下svn命令使用大全

原文地址:http://blog.chinaunix.net/uid-22150747-id-189264.html 最近经常使用svn进行代码管理,这些命令老是记不住,得经常上网查,终于找了一个linux下svn命令使用大全: 1.将文件checkout到本地目录 svn checkout path(path是服务器 上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co 2.往版本库中添加新的文件 svn add file例如:s

(转)Linux下PS命令详解

(转)Linux下PS命令详解 整理自:http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=74654 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不动态连续: (2) top:如果想对进程运行时间监控,应该用 top 命令: (3) kill 用于杀死进程或者给进程发送信号: (4) 查看文章最后的man手册,可以查看ps的每项输出的含义

Linux下more命令C语言实现实践

1. more第一版 实现基础功能,显示每一页固定24行文本,"q Enter"退出, "Enter" 下一行, "space Enter"下一页. /************************************************************************* > File Name: more01.c > Author: qianlv > Mail: [email protected] &

Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返

转载的 Linux下chkconfig命令详解

Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig 在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

Linux 下 who 命令

命令: who: 常用选项 意义 -a 显示所有用户的所有信息 -m 显示运行该程序的用户 -p 只显示用户的登陆帐号和登陆用户的数量,该选项优先级高于其他任何选项 -r 显示当前用户的运行级别,是在那个级别运行的 -u 在登陆用户后面显示该用户最后一次对系统进行操作距今的时间 参数:注:格式有点乱, -a, --all : 系统引导 2014-05-30 00:32 运行级别 2 2014-05-30 00:32 登录 tty4 2014-05-30 00:32 932 id=4 登录 tty