Linux中的文件目录联合

时间:2017-06-12 18:46:00

标签: linux centos

我正在尝试对我们拥有的系统进行增量备份,并且正在许多目录中移动大量附件文件。我想将我当前的附件与我的新附件合并。例如:

生产附件目录:

Dir A/ Dir B/ File 1, File 2

附件备份目录:

Dir A/ Dir B/ File 3, File 4

合并之后我想看看:

Dir A/ Dir B/ File 1, File 2, File 3, File 4

该目录有数百个这样的文件夹,所以我想以递归方式进行。 Linux / Unix中是否有可以执行此操作的命令?我已经研究过像Union这样的命令,但我不确定这是否能解决这个问题。

1 个答案:

答案 0 :(得分:0)

我并非100%确定我理解您的问题,因为我的解决方案似乎太简单了,但是......

cp -R(递归)可以为您提供所需的信息。

首先获取备份副本并创建副本:

cp -R [备份目录] merged_attachments

然后强制并递归生产副本(这样您就拥有了最新的生产版本,以防发生冲突):

cp -fR [生产目录] / * merged_attachments

最后的merged_attachments目录将包含两个源目录的相同结构。

如果您想使用以下命令将备份复制到生产目录中,则可以完成相同的操作:

cp -nR [备份目录] / * [生产目录]

使用noclobber标志,这样您就不会使用备份版本覆盖生产文件。