snowball cp 命令的语法 - Amazon Snowball
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

snowball cp 命令的语法

使用 Snowball 客户端复制数据snowball cp命令使用的语法与 Linux 类似cp命令语法。但是,二者之间仍存在一些显著区别。在以下主题中,您可以找到 snowball cp 命令所用语法的参考。如果未遵循此语法,可能会导致在将数据复制到 Snowball 或从中复制数据时产生意外结果。

复制数据时,定义一个源路径和一个目标路径,如以下示例所示。

snowball cp [source path] [destination path]

复制目录时,如果您还想复制源目录中的内容,请使用 -r 选项以递归方式复制这些内容。

用于复制文件的语法
  • 将文件复制到结尾不带反斜杠且不存在的目标— 将源文件复制到目标路径下的一个新文件中。

    snowball cp /tmp/file1 s3://bucket-name/dir1/file2

    在上述示例中,源文件 1 被复制到 Snowball 中,新文件名为 file2。

  • 使用尾部斜杠将文件复制到不存在的目标— 在目标路径下创建一个新目录,然后将文件复制到这个新目录中。

    snowball cp /tmp/file3 s3://bucket-name/dir2/

    在上述示例中,dir2 目录在此命令执行后才存在。由于dir2/在本示例中,以反斜杠结尾,此命令将 dir2 创建为目录,且在 Snowball 中,file3 的路径为 s3://bucket-name/dir2/file3。

  • 将文件复制到现有的目标文件中— 失败,除非您指定-f选项来覆盖现有的目标文件。

    snowball cp -f /tmp/file4 s3://bucket-name/dir3/file5

    在上述示例中,目标文件 file5 在执行命令之前便已存在。通过在执行此命令时使用 -f 选项,file5 将被 file4 的内容所覆盖,其目标路径为 s3://bucket-name/dir3/file5。

  • 将文件复制到现有的目标目录中— 将文件复制到现有的目标目录中。

    snowball cp /tmp/file6 s3://bucket-name/dir4/

    上述示例将 file6 复制到 s3://bucket-name/dir4/。

    注意

    如果执行此命令时,file6 已存在于 s3://bucket-name/dir4/ 中,则命令将失败。您可以在执行 snowball cp 命令时使用 -f 选项,强制让源 file6 覆盖目标 file6。

  • 在 Snowball 上使用或不带尾部斜杠将文件复制到存储桶— 将文件复制到 Snowball 上的根级目录中,该目录与 Amazon S3 存储桶名称相同。

    snowball cp /tmp/file7 s3://bucket-name

    上述示例将 file7 复制到 s3://bucket-name/file7。

    注意

    如果执行此命令时,file7 已存在于 s3://bucket-name 中,则命令将失败。您可以在执行 snowball cp 命令时使用 -f 选项,强制让源 file7 覆盖目标 file7。

用于复制目录的语法
  • 将目录复制到结尾带有或不带反斜杠的新目标— 指定源路径和目标路径。

    snowball cp -r /tmp/dir1 s3://bucket-name/dir2/
    snowball cp -r /tmp/dir1 s3://bucket-name/dir2

    上述两个示例将执行相同的操作。它们都会创建新目录 dir2,并以递归方式将 dir1 中的内容复制到 dir2 中。

  • 将目录复制到已经存在的目标目录— 此 Google 中特有的内容会被复制到目标目录中,除非snowball cp命令与-f选项强制覆盖整个目标目录。

    snowball cp -r /tmp/dir3 s3://bucket-name/dir4/

    在上述示例中,仅源目录中特有的内容会被复制到目标目录 dir4 中。

    snowball cp -r -f /tmp/dir3 s3://bucket-name/dir4/

    在上述示例中,目标目录 dir4 已被源 dir3 目录中的内容所覆盖。

  • 将目录复制到已存在的目标文件中— 此操作将失败,除非您使用snowball cp命令使用-f选项。如果使用该选项,此操作将成功,因为目标文件将被具有相同名称的源目录副本所覆盖。

    snowball cp -r -f /tmp/dir5 s3://bucket-name/dir6

    在上述示例中,Snowball 上的 dir6 实际上是一个文件。在此情况下,此命令通常会失败,因为源 dir5 是一个目录。但是,由于使用了 -f,文件 dir6 会作为一个目录被源 dir5 中的内容强制覆盖。

  • 将目录复制到 Snowball 上的存储桶中— 在目标路径中指定存储桶名称。

    snowball cp -r /tmp/dir7 s3://bucket-name/
    注意

    如果执行此命令时,dir7 已存在于 s3://bucket-name 中,则此命令会将源目录中特有的内容复制到目标目录中。您可以将 snowball cp 命令与 -f 选项结合使用,强制让源 dir7 覆盖目标 dir7。