怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子。
假设 dir1 和 dir2 目录中分别有3个子目录a,b和c.目录布局如下所示:
在目录a,b和c中有一些文件,tree命令的输出将能更好的说明:
1. 使用cp命令创建合并:现在我们将这两个目录合并成一个名为"merged"新的目录中.完成上述操作最简单的方式就是递归复制目录,如下图所示:
1.1 cp命令和替换带来的问题:这种方式所带来的问题是该合并目录中所创建的文件为原文件的副本,并非原文件本身.别急, (你可能正在问自己) 如果不是原文件又有什么问题? 要回答你的问题,考虑下你有很多大文件的情况.那种情形下,复制所有的文件可能花费数小时。
现在让我们回到刚那问题上,且尝试使用mv命令而不是cp命令。
这些目录不能被合并.因此我们不能像这样使用mv命令去合并目录. 现在你该怎样将原文件保存到"merged"目录中?