我应该如何合并同一文件系统上的两个文件夹?

我应该如何合并同一文件系统上的两个文件夹?

我有两个目录,如下所示,但包含更多文件。

folder1/pic1.png
folder1/test/readme.txt

folder2/guest.html
folder2/backup/notes.txt

我想“合并”这两个,以便folder2的所有内容最终都在folder1中,而folder2被删除。它们位于相同的文件系统和磁盘 (ext4) 上。我知道所有文件都是唯一的,mv 在这里可以正常工作吗?

答案1

是的,mv在这里工作。

$ mv -i folder2/* folder1/

注意该-i标志是为了增加一些安全性。

答案2

“rsync”命令对此很有用。我做了这样的事情:

rsync -PHACcviuma --copy-unsafe-links --exclude="*~"  folder2/  folder1/  &&  rm -fr folder2

所有标志都记录在 rsync 手册页中;基本上 rsync 不会用旧文件替换新文件,并且不会费心复制目标中重复的任何文件。否则,它将复制内容并保留原始元数据(时间戳、权限等)。

rsync 程序还将包括“隐藏文件”(名称以“.”开头)、备份(以“~”结尾等),因此我使用 --exclude 选项来跳过某些无趣的文件模式。

相关内容