云网牛站
所在位置:首页 > Linux常用命令大全 > 更多实用命令 > dircmp命令

dircmp命令

dircmp命令主要用于对二个目录下的档案进行比较。

用法

dircmp [-d] [-s] [-wn ] dir1 dir2

说明

dircmp命令会对指定的二个目录下的档案进行比较,并将结果整理后印出。这结果包含了有那些档案仅存在于 dir1 或 dir2的目录下,以及有那些是名称、内容都相同以及只有名称相同而内容却不同的档案。

在没给予任何选项的情形下,dircmp 指令对于二个目录下档名相同、内容却不同的档案并不会说明内容不同之处,若要求说明内容的不同处,则应给予 -d 选项。

选项

-d(diff):对于同档名而内容不同的档案进行详细的比较,并以 diff 指令的输出格式印出如何才能更改为相同的内容。
-s(silent):对于完全相同的档案不产生任何讯息。
-wn(width):改变输出行的宽度为 n 个字元,预设的值为 72 个字元。

注:选项 -w 是在 SVR3 版本时才开始提供。

实例

1.比较二个目录:

$ ls -l direc1 direc2
direc1:
total 6
-rw-r--r-- 1 eric other 42 Nov 1 07:24 spring
-rw-r--r-- 1 eric other 84 Nov 1 06:13 summer
-rw-r--r-- 1 eric other 88 Nov 1 07:17 winter
direc2:
total 6
-rw-r--r-- 1 eric other 56 Nov 1 07:18 autumn
-rw-r--r-- 1 eric other 42 Nov 1 07:18 spring
-rw-r--r-- 1 eric other 84 Nov 1 07:28 summer
$ dircmp direc1 direc2
Nov 1 07:31 2017 direc1 only and direc2 only Page 1
./winter
./autumn
Nov 1 07:31 2017 Comparison of direc1 direc2 Page 1
directory
different
same     ./summer

在这个印出的结果中首先是有 1 个档案 winter 只存在于 direc1 这个目录下,以及 1 个档案 autumn 只存在于 direc2 这个目录下。接著的是指出二个目录下皆存在的档案,有档案 same 是内容完全相同,而档案 spring 的内容则不同。

2.对于二个目录下的档案详细比较其内容:

$ dircmp -s -d direc1 direc2
Nov 1 07:33 1992 direc1 only and direc2 only Page 1
./winter         ./autumn
Nov 1 07:33 1992 Comparison of direc1 direc2 Page 1
different     ./spring     
Nov 1 07:33 1992 diff of ./spring in direc1 and direc2 Page 1
2c2
< aba
---
> abandoned

在指定的 direc1、direc2 二个目录下的 spring 档案内容不同。由于使用选项 -s,使档名内容相同的档案无任何讯息出现。而选项 -d 则使档名相同且内容不同的档案会以 diff 指令的输出格式印出。

相关命令