Rclone、rsync、Docker 的 COPY/ADD:加不加「/」的含义大不相同!

Rclone、rsync、Docker 的 COPY/ADD:加不加「/」的含义大不相同!

💡 原文中文,约5400字,阅读约需13分钟。
📝

内容提要

文章比较了 Rclone、rsync 和 Docker 在文件同步和复制时对路径斜杠的处理。Rclone 对斜杠不敏感,目标路径必须是文件夹。rsync 的斜杠影响源路径,目标路径无影响。Docker 中,目标路径的斜杠决定其是文件还是文件夹,并会自动创建不存在的文件夹。不同工具在复制文件和文件夹时有不同规则。

🎯

关键要点

  • 文章比较了 Rclone、rsync 和 Docker 在文件同步和复制时对路径斜杠的处理。
  • Rclone 对斜杠不敏感,目标路径必须是文件夹。
  • rsync 的斜杠影响源路径,目标路径无影响。
  • Docker 中,目标路径的斜杠决定其是文件还是文件夹,并会自动创建不存在的文件夹。
  • 不同工具在复制文件和文件夹时有不同规则。
  • Rclone 在文件夹到文件夹的复制中,斜杠无关紧要。
  • Rclone 不能将文件复制到另一个文件夹并改名。
  • rsync 的斜杠影响源路径,前一个路径加斜杠时只复制文件夹下的文件。
  • rsync 在处理文件到文件夹和文件到文件时有不同的规则。
  • Docker 的 COPY 和 ADD 命令中,前一个路径的斜杠无关紧要,后一个路径的斜杠决定其类型。
  • Docker 会自动创建不存在的目标文件夹。

延伸问答

Rclone 在复制文件时斜杠的作用是什么?

Rclone 对斜杠不敏感,目标路径必须是文件夹,斜杠的有无不会影响复制结果。

rsync 的斜杠对源路径有什么影响?

rsync 的斜杠影响源路径,前一个路径加斜杠时只复制文件夹下的文件,目标路径的斜杠无影响。

Docker 中 COPY 命令的目标路径斜杠有什么特别之处?

Docker 中,目标路径的斜杠决定其是文件还是文件夹,且会自动创建不存在的文件夹。

Rclone 能否将文件复制并改名?

Rclone 不能将文件复制到另一个文件夹并改名,后一个路径只能是文件夹。

rsync 在处理文件到文件夹时的规则是什么?

rsync 会将文件复制到目标文件夹中,如果目标路径的最后一个 seg 存在,则文件会被放入该文件夹。

如果 Docker 的目标路径不存在,会发生什么?

如果 Docker 的目标路径不存在,COPY 或 ADD 命令会自动创建该路径。

➡️

继续阅读