赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 开发参考
  5. 常用工具
  6. 命令行工具ossutil 2.0
  7. ossutil命令
  8. 高级命令
  9. cp(上传、下载和拷贝文件)
  10. cp(拷贝文件)

cp(拷贝文件)

  • cp(上传、下载和拷贝文件)
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

拷贝文件(Object)是指在不改变文件内容的情况下,将同一地域下的源存储空间(Bucket)内的文件复制到目标Bucket,或者将文件复制到相同存储空间(Bucket)的其他目录。您可以通过ossutil的cp完成拷贝。

注意事项

  • 要拷贝文件,您必须具有oss:GetObject、oss:ListObjects和oss:PutObject权限。具体操作,请参见为RAM用户授权自定义的权限策略。

  • 只支持拷贝对象,不支持拷贝未合并的分片。

  • 默认同时复制标签和对象属性。可以使用--copy-props选项设置属性和标签的复制规则。

  • 不支持跨账号或者跨区域拷贝。如果您需要跨账号或者跨地域拷贝(迁移)文件,请使用ossimport或者在线迁移服务。

命令格式

ossutil cp oss://src_bucket[/src_prefix] oss://dest_bucket[/dest_prefix] [flags]

参数

类型

说明

src_bucket

string

源Bucket名称。

src_prefix

string

源Bucket下的某个文件目录或指定前缀。

dest_bucket

string

目标Bucket名称。

dest_prefix

string

目标Bucket下的某个文件目录或指定前缀。

--acl

string

对象的访问权限。取值:

  • private:私有。

  • public-read:公共读。

  • public-read-write:公共读写。

  • default:继承Bucket。

--bigfile-threshold

int

开启大文件分片上传、下载或拷贝的阈值(默认值104857600)。

--cache-control

string

指定该对象被下载时网页的缓存行为。

--checkers

int

Number of checkers to run in parallel (缺省值 16)

--checkpoint-dir

string

断点续传信息的指定目录(默认值.ossutil_checkpoint/)。

--checksum

/

仅拷贝文件大小和校验和(如果存在)不一致的源文件,仅当对象间拷贝有效。

--content-disposition

string

指定对象的展示形式。

--content-encoding

string

声明对象的编码方式。

--content-type

string

对象的内容类型。

--copy-props

string

用于设置对象间拷贝时的属性和标签复制规则,支持以下三种设置:

  • default(默认值):同时拷贝对象属性和标签。对象属性包括content-type、content-language、content-encoding、content-disposition、cache-control、expires和metadata(自定义元数据)。

  • metadata:只拷贝对象属性。

  • none:只复制数据,忽略掉对象属性和标签。

-d, --dirs

string

返回当前目录下的文件和子目录,而非递归显示所有子目录下的所有文件。

--encoding-type

string

输入的对象名或文件名的编码方式。取值:url。

--end-with

string

按字母排序,返回设定值之前的对象,包含设定值。

--exclude

stringArray

路径或文件名的排除规则。

--exclude-from

stringArray

从规则文件里读取排除规则。

--expires

stringArray

指定缓存内容的绝对过期时间。

--files-from

stringArray

从文件中读取源文件名列表,忽略空行或注释行。

--files-from-raw

stringArray

从文件中读取源文件名列表。

--filter

stringArray

路径或文件名过滤规则。

--filter-from

stringArray

从规则文件读取过滤规则。

-f, --force

/

强制操作,不进行询问提示。

--include

stringArray

路径或文件名的包含规则。

--include-from

stringArray

从规则文件里读取包含规则。

-j, --job

int

多文件操作时的并发任务数(默认值3)。

--list-objects

/

使用ListObjects接口列举对象。

--max-age

Duration

不传输任何比此更早的文件。默认是秒,或单位后缀形式 ms|s|m|h|d|w|M|y(默认值off)。

--max-mtime

Time

不传输任何比此更新的文件,UTC时间格式 (默认值off)。

--max-size

SizeSuffix

限制传输的最大文件大小,默认是字节,或单位后缀形式B|K|M|G|T|P,1K(KiB)=1024B。

--metadata

strings

指定对象的用户元数据,使用key=value格式。

--metadata-directive

string

指定如何设置目标对象的元数据。取值:

  • COPY

  • REPLACE

--metadata-exclude

stringArray

对象元数据的排除规则。

--metadata-filter

stringArray

对象元数据过滤规则。

--metadata-filter-from

stringArray

从规则文件读取对象元数据过滤规则。

--metadata-include

stringArray

对象元数据的包含规则。

--min-age

Duration

不传输任何比此更新的文件。默认是秒,或单位后缀形式 ms|s|m|h|d|w|M|y(默认值为off)。

--min-mtime

Time

不传输任何比此更早的文件,UTC时间格式(默认值off)。

--min-size

SizeSuffix

限制传输的最小文件大小,默认是字节,或单位后缀形式B|K|M|G|T|P,1K(KiB)=1024B。

--no-progress

/

不现显示度条。

--page-size

int

返回对象或文件的最大数(默认值1000),取值范围1~1000。

--parallel

int

单文件内部操作的并发任务数。

--part-size

SizeSuffix

分片大小,默认情况下根据文件大小自行计算合适的分片大小值。取值范围100Ki~5Gi。

-r, --recursive

/

递归进行操作。当指定该选项时,命令会对存储空间下所有符合条件的对象进行操作,否则只对路径指定的对象进行操作。

--request-payer

string

请求的支付方式,如果为请求者付费模式,请设置该值。取值:requester。

--size-only

/

仅拷贝文件大小不一致的源文件。

--start-after

string

按字母排序,返回设定值之后的对象,不包含设定值。

--storage-class

string

对象的存储类型, 取值:

  • Standard:标准存储。

  • IA:低频存储。

  • Archive:归档存储。

  • ColdArchive:冷归档存储。

  • DeepColdArchive:深度冷归档存储。

--tagging

strings

指定对象的标签,使用key=value格式。

--tagging-directive

string

指定如何设置目标对象的标签。取值:

  • COPY

  • REPLACE

-u, --update

/

仅拷贝源文件新于目标文件。

--ignore-existing

/

跳过已存在的目标文件。

说明

关于支持的全局命令行选项,请参见支持的全局命令行选项。

目标文件命名规则如下:

  • 单文件复制时,如果dest_prefix为空,则对象的名字为源文件相对路径。

  • 单文件复制时,如果dest_prefix以"/"结尾,则对象的名字为dest_prefix + 源文件相对路径。

  • 单文件复制时,如果dest_prefix不以"/"结尾, 则与dest_prefix保持一致。

  • 批量复制时,如果dest_prefix以"/"结尾,则对象的名字为dest_prefix + 源文件相对路径。

  • 批量复制时,如果dest_prefix不以"/"结尾,则对象的名字为dest_prefix + "/" +源文件相对路径。

使用示例

  • 拷贝单个文件

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/desfolder/
  • 拷贝增量文件

    批量拷贝时,如果指定--update选项,只有当目标文件不存在,或源文件的最后修改时间晚于目标文件时,ossutil才会执行拷贝操作。命令如下:

    ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --update

    该选项可用于当批量拷贝失败重传时,跳过已经拷贝成功的文件,实现增量拷贝。

  • 重命名文件

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/example.txt 

    通过cp命令重命名文件时,原文件仍存在,您可以在重命名后删除原文件。

  • 修改文件对象标签

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/ --tagging "abc=1&bcd=2&……"  

相关文章

cp(上传文件) 2025-04-21 17:30

当您需要将本地文件、图片、视频等资源上传到OSS,或者需要上传大文件至OSS时,可以使用ossutil的cp命令。 注意事项 要上传文件,您必须具有

cp(下载文件) 2025-04-21 17:30

当您需要将已上传至OSS的文件、图片、视频等资源下载到本地时,可以使用ossutil的cp命令。 注意事项 要下载文件,您必须具有oss:GetObject</

cp(拷贝文件) 2025-04-21 17:30

拷贝文件(Object)是指在不改变文件内容的情况下,将同一地域下的源存储空间(Bucket)内的文件复制到目标Bucket,或者将文件复制到相同存储空间(Bucket)的其他目录。您可以通过ossutil的cp完成拷贝。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号