对于比较两个目录,我们可以用Linux的diff命令。
例如:
diff dir1 dir2
dir1,dir2为要比较的目录名称
如果想要比较两个目录下的子目录和文件,也就是递归比较。
可以用如下命令:
diff -r dir1 dir2
参数 -r 代表递归查询
但是这个命令输出的是详细的差异内容,如果文件比较多的话,会是满屏的文字,不利于查找哪些文件存在差异。
想运行一个Linux命令,递归比较两个目录,并只输出不同的文件名。
可以用如下命令:
diff -qr dir1 dir2
参数 -q 代表只报高文件是否不同,不显示差异的详细信息。
输出示例:
$ ls dir1 dir2
dir1:
same-file different only-1
dir2:
same-file different only-2
$ diff -qr dir1 dir2
Files dir1/different and dir2/different differ
Only in dir1: only-1
Only in dir2: only-2