让我们说有两个目的
/path1 and /path2
例如
/path1/bin
/path1/lib
/path1/...
/path2/bin
/path2/lib
/path2/...
如果内容(文件名和文件内容)相同,如果没有列出差异,则需要知道。
如何在Linux中执行此操作? 是否有一些Bash / Zsh命令?
答案 0 :(得分:5)
diff命令可以显示两个目录之间的所有差异:
diff -qr /path1 /path2
答案 1 :(得分:3)
有人建议这已经删除了答案,但不确定原因。尝试使用rsync
:
rsync -avni /path1/ /path2
这个程序通常会同步两个文件夹,但是使用-n它会执行干运行。
答案 2 :(得分:1)
我正在使用此脚本执行此任务:
diff <(cd "$dir1"; find . -type f -printf "%p %s\n" | sort) \
<(cd "$dir2"; find . -type f -printf "%p %s\n" | sort)
随意调整<(...)
部分中的脚本以满足您的特定需求。此版本使用find
通过打印路径和在其中找到的文件大小来打印目录内容。其他事情当然是可能的。