根据此网页,在rsync目标的末尾添加“ /”会产生与未添加结果不同的结果。
我已经尝试过测试,但是无法验证:
$ mkdir dir{1..3}
$ touch dir1/file
$ rsync -r dir1/ dir2
$ rsync -r dir1/ dir3/
$ ls dir*
dir1:
file
dir2:
file
dir3:
file
有时将'/'附加到目的地实际上有用途吗?
@Jesse_b您的评论确实让我感到惊讶...“在目标末尾使用“ /”时,rsync会将数据粘贴到最后一个文件夹中。当在目标末尾不使用“ /”时,rsync将使用以下命令创建一个文件夹最后一个目标文件夹名称,然后将数据粘贴到该文件夹中。”
—
Hauke Laging,
@HaukeLaging我很困惑,令人惊讶的是什么?此特定部分还指代源末尾有斜杠。所以,如果你是
—
jesse_b
rsync -r dir1/subdir1 dir2/
会的内容复制subdir1
到dir2
,但如果你没有rsync -r dir1/subdir1/ dir2/
它会复制整个目录(包括内容)subdir1
进入dir2
,所以你必须./dir2/subdir1/
@Jesse_b在您的第一条评论中,我没有注意到“男人”。很明显,OP并不是参考手册页而是他链接的页面。
—
Hauke Laging,
@HaukeLaging哦,呵呵,甚至都没有看到。我想我浏览的太快了,读为“根据手册页”。
—
jesse_b
A trailing slash on the source changes this behavior to avoid creating an additional directory level at the destination.
吗?如果是这样,请注意您的命令与手册页中给出的示例完全不同。