Unix – recursion比较两个目录,输出差异作为列表减去目录

我有一个归档系统,将任何文件(以及该文件所在的相应目录结构)归档到另一个卷。 它忽略空目录。

在存档创build了一个外部卷的副本后,我一直在使用以下命令列出差异,以确保没有文件被遗漏:

diff -qr dir1(original) dir2(archive) 

我的问题是,归档系统忽略的所有空目录显示并堵塞结果列表。 是否有一个标志(或rsync替代方式),可以列出两个目录之间不同的文件,并完全忽略目录中的差异。

只是为了澄清,我实际上并没有在文件本身寻找差异,我只是想比较两个目录树,看看他们都有相同的文件。

您可以使用rsync -ai dir1/ dir2/ --dry-run创建一个机器可读的dir1和dir2之间的更改列表。 你将不得不自己过滤掉目录,但是语法是很容易处理的。