我在 Cygwin 上使用 rsync,如果这很重要的话,在一个目录下c:\topDir,我有两个文件夹subFolder1和subFolder2。每个文件夹都有大约 300GB 的文件,有些相同,有些不同,有些子目录存在于一个文件夹中,而另一个文件夹中不存在。遗憾的是,在复制之前无法删除subFolder2。
我想递归地将所有内容复制subfolder1到subfolder2. 从c:\topDir,我运行了以下命令,
rsync -ra --info=progress2 subFolder1 subFolder2
Run Code Online (Sandbox Code Playgroud)
但在将所有内容复制到其中之前,它在 subfolder2 下创建了一个新的子目录,
c:\topDir\subfolder2\subfolder1
我需要做什么才能将内容复制到而不将其放入新的子目录中subFolder1subFolder2?
在源目录中添加尾部斜杠,如下所示:
\n\nrsync -ra --info=progress2 subFolder1/ subFolder2\nRun Code Online (Sandbox Code Playgroud)\n\n正如\xe2\x80\x9cUsage\xe2\x80\x9d 示例下的 Rsync 手册页中所述:
\n\n\n\n\nRun Code Online (Sandbox Code Playgroud)\n\nrsync -avz foo:src/bar /data/tmp\n\n\n
src/bar这会将所有文件从计算机上的目录递归传输foo到/data/tmp/bar本地计算机上的目录中。\n 文件以“存档”模式传输,这确保在传输中保留符号链接、设备、属性、权限、所有权等。此外,压缩将用于减少传输数据部分的大小。
\n\nRun Code Online (Sandbox Code Playgroud)\n\nrsync -avz foo:src/bar/ /data/tmp\n源上的尾部斜杠会更改此行为,将所有文件从
\n\nsrc/bar计算机 foo 上的目录传输到/data/tmp/.源名称尾随
\n\n/表示“复制此目录的内容”。如果没有尾部斜杠,则表示“复制目录”。使用该
\n--delete选项时,这种差异变得尤为重要。
另外,请务必使用该--dry-run选项来测试 Rsync 之类的东西。这将简单地输出 Rsync 将执行的操作而不影响文件。这样你就可以在做出承诺之前准确地看到会发生什么。在您的情况下像这样使用它,然后在执行实际的 Rsync 时将其删除:
rsync -ra --info=progress2 --dry-run subFolder1/ subFolder2\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1505 次 |
| 最近记录: |