AWS Snowball
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

    在上述示例中,源文件 file1 被复制到 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 中。

  • 将目录复制到已存在的目标目录 – 仅源目录中特有的内容会被复制到目标目录中,除非在执行 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。