将一个目录下的文件移动到另一目录下,同时保持目录结构

将一个目录下的文件移动到另一目录下,同时保持目录结构

在 Linux 上,我有目录 #1,例如:

/foo/file (edited)
/foo/bar/foo/file6 (edited)

目录 #2 可能包含一些相同的文件:

/foo/file
/foo/file2
/foo/bar/file3
/foo/bar/file4
/foo/bar/foo/file5
/foo/bar/foo/file6

我想将目录 #1 的文件移动到目录 #2 中,如果它们存在,则覆盖它们。因此我们最终会得到:

/foo/file (edited)
/foo/file2
/foo/bar/file3
/foo/bar/file4
/foo/bar/foo/file5
/foo/bar/foo/file6 (edited)

(edited)表示该文件较新。

答案1

我能想到的有几种方法:

cd /directory/one && tar cf - . | (cd /directory/two && tar xf - )

或者

rsync -av /directory/one /directory/two

相关内容