如何比较两个带有子目录的目录来查看差异在哪里?
答案1
在 Linux 下:
$ diff -r /first/directory /second/directory
在 Windows 下:你最好下载并安装 WinMerge,然后
> WinMerge /r c:\first\folder c:\second\folder
米
答案2
Diff 通常用于比较两个文件,但其功能远不止于此。选项diff
“r”和“q”使其以递归方式安静地工作,即仅提及差异,这正是我们想要的:
diff -rq todo_orig/ todo_backup/
如果您还想查看两个目录中可能不存在的文件的差异:
diff -Nrq dir1/ dir2/
你可以还使用Rsync
和find
。对于find
:
find $FOLDER -type f | cut -d/ -f2- | sort > /tmp/file_list_$FOLDER
但具有相同名称和位于相同子文件夹中但具有不同内容的文件将不会显示在列表中。
如果你是 GUI 的粉丝,你可以查看融合. 它在 Windows 和 Linux 上都能很好地运行。
答案3
我用了融合在 Ubuntu 上 - 它有一个很好的目录比较选项。
答案4
在 Windows 上,我相信 windiff 可以做到这一点,但是温姆杰是我为这项工作选择的工具。它是开源的,可以非常出色地比较两组目录树。
编辑:哎呀,被 Marius 抢先了