1. Without GUI
1.1 diff
diff可以比较2个文件夹
选项的含义如下:
- b 忽略行尾的空格,而字符串中的一个或多个空格符都视为相等。
如How are you与How are you被视为相同的字符串。
- c 采用上下文输出格式(提供三行上下文)。
- C n 采用上下文输出格式(提供n行上下文)。
- e 产生一个合法的ed脚本作为输出。
- r 当file1和file2是目录时,递归作用到各文件和目录上。
1.2 comm
1.3 colordiff
在 Linux 下,使用 diff 命令可以对文件进行比较,从而了解其差异。不过,diff 命令的输出结果以同色显示,对于这种差异的表现可能不够强烈。好在我们还可以通过 ColorDiff 来加以改善。ColorDiff 是一个 Perl 脚本,它通过不同的颜色来高亮显示 diff 命令的输出结果,非常显眼。ColorDiff 适用于 Linux 及 BSD 系统,目前已被包含到 Debian、Ubuntu、Gentoo、Arch Linux、Fedora、FreeBSD 等发行版中。你可以从中直接加以安装。
2. With GUI
由于没有GUI,diff和comm不是那么好用,下面推荐几个带GUI的软件。
2.1 diffuse
我一般都是用这个,很好用。也可以直接把内容粘贴到diffuse版面中,直接进行对比。
可视化比较,非常直观。
支持两相比较和三相比较。这就是说,使用 Diffuse 你可以同时比较两个或三个文本文件。
支持常见的版本控制工具,包括 CVS、subversion、git、mercurial 等。你可以通过 Diffuse 直接从版本控制系统获取源代码,以便对其进行比较和合并。
支持像 C++、Python、Java、XML 等语言的语法高亮显示。
能够直接在 Diffuse 中编辑文件。
支持 UTF-8 编码。
可以使用快捷键轻松导航。
2.2 KDiff3
KDiff3 是一款用来对文件或目录进行比较/合并的工具,在比较时它可以同时针对两个或者三个文件/目录而进行。通过比较,它将文件/目录的差异按行加以显示。同时,KDiff3 提供有自动化的合并工具,方便使用者进行有关合并的操作。
此外,KDiff3 支持 Unicode 编码,集成了编辑器,可以自动合并版本控制历史。虽然 KDiff3 主要为 KDE 桌面而开发,但是仍然可以运行于其他的 Linux 环境。甚至对于 Windows、Mac OS X,KDiff3 也有相应的版本
3. 参考文献
[1] Linux文件比较命令 http://baike.baidu.com/link?url=Q_9aovjvvYNNbDY09eUlz5R0kBd1RC17GmmZ9YRJFth6naLrptqmna15V3qzXrrP
[2] Linux下文件差异比较工具 http://blog.csdn.net/baozi1159/article/details/7572819