如何查找两个磁盘结构之间丢失的目录?

Est*_*ics 1 directory

如何查找两个磁盘结构之间丢失的目录?

  • 假设磁盘 A 有 dir A/, B/, C/, D/。(较新的副本)
  • 假设磁盘 B 有 dir A/, B/, D/, E/。(旧副本)

我想找出与旧副本相比,新副本中缺少哪些目录。

结果:“Dir E”。

我怎样才能做到这一点?我不想要任何有关文件的报告。

这可以仅创建特定目标中缺少的目录:

find -type d -exec mkdir -p "/mnt/pics/Albums/{}" \; 
Run Code Online (Sandbox Code Playgroud)

更新:我的问题中建议的文章是关于内容而不是文件夹。此外,没有提出明确的解决方案作为“diff -rq path1 path2”的答案。

Fel*_*xJN 11

diff允许比较目录内容。用于-r递归遍历子目录并-q仅报告差异:

diff -rq /path/to/dir1 /path/to/dir2
Run Code Online (Sandbox Code Playgroud)

例如:

$mkdir A B
$touch A/1 A/2 A/3 B/1 B/3 B/4
$diff -rq A B
Only in A: 2
Only in B: 4
Run Code Online (Sandbox Code Playgroud)

请注意,这还会比较文件的相同内容!