我有两个如下所示的目录:
/folder1/sub1/file1.txt
/folder1/sub1/file2.txt
/folder1/sub2/file1.txt
/folder1/sub2/file2.txt
/folder2/sub1/file3.txt
/folder2/sub1/file4.txt
/folder2/sub2/file3.txt
/folder2/sub2/file4.txt
我想将所有文件复制到folder2
其中folder1
而不删除任何现有文件夹,以便最终得到以下内容:
/folder1/sub1/file1.txt
/folder1/sub1/file2.txt
/folder1/sub1/file3.txt
/folder1/sub1/file4.txt
/folder1/sub2/file1.txt
/folder1/sub2/file2.txt
/folder1/sub2/file3.txt
/folder1/sub2/file4.txt
我如何通过终端完成此操作?
答案1
rsync
是完成这项工作的完美工具:
rsync -av folder2/ folder1
该-v
选项是可选的,但它会列出正在处理的文件。后面的斜线folder2
是必需的,否则您将得到folder1/folder2/file1.txt
而不是folder1/file1.txt
。
如果您不确定该命令是否执行了您想要的操作,请添加选项--dry-run
来显示实际发生的情况。