本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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。