Unix:如何合并两个目录

Unix:如何合并两个目录

假设我有两个包含不同内容的文件夹,foobar。我该如何合并barfoo

  • foo未包含在内文件bar将保持原样。
  • bar中原本不存在的文件foo现在位于 中foo
  • 中的文件foobar已被中的文件替换bar

答案1

如果我正确理解了您的要求,则没有从 到foo的文件bar。看来您只需将 的内容复制barfoo,让它根据需要覆盖文件(其默认行为)。

$ cp -R /path/to/bar/* /path/to/foo

答案2

我有一个非常相似的需求:合并barfoo但文件中bar 不应该覆盖 中的匹配文件foo。在本例中:

$ cp -R -n /path/to/bar/* /path/to/foo/

答案3

尝试这个 :

$ cp -r-u-v /path/to/foo/* /path/to/bar/

man cp
-u,--更新 仅当源文件比目标文件新或目标文件丢失时才复制
-R、-r、--递归递归复制目录

相关内容