ossutil下载文件的详细命令说明

以下是使用ossutil下载文件的详细命令说明:


基础下载命令格式

ossutil cp oss://<bucket-name>/<object-key> <local-file-path> [options]

参数说明

  • <bucket-name>: OSS存储桶名称
  • <object-key>: 要下载的OSS对象路径(支持通配符 *
  • <local-file-path>: 本地保存路径(文件或目录)
  • [options]: 可选参数(见下文)

常用下载选项

选项 作用
-r, --recursive 递归下载目录/前缀匹配的所有文件(批量下载必备)
-j, --jobs=4 设置并发下载任务数(默认3,建议根据网络带宽调整)
-f, --force 强制覆盖本地同名文件(默认会跳过已存在的文件)
--checkpoint-dir=dir 指定断点续传检查点目录(意外中断后可从断点恢复)
--exclude "*.log" 排除匹配模式的文件(支持通配符)
--include "*.jpg" 仅下载匹配模式的文件
--version-id=xxx 下载指定版本的对象(需开启版本控制)
--range=3-9 下载指定字节范围(支持 3-, -9 格式)
--disable-crc64 禁用CRC64校验(可提升速度但牺牲数据完整性校验)

典型场景示例

1. 下载单个文件

ossutil cp oss://mybucket/docs/readme.txt /home/user/downloads/

2. 递归下载整个目录

ossutil cp -r oss://mybucket/photos/2023/ /home/user/photos/ -j 10

3. 增量下载(仅下载新文件)

# 结合 --update 选项(仅当OSS文件比本地新时下载)
ossutil cp -r -u oss://mybucket/logs/ /local/logs/

4. 断点续传下载大文件

ossutil cp oss://mybucket/videos/4k.mp4 /local/videos/ --checkpoint-dir /tmp/checkpoint

5. 强制覆盖本地文件

ossutil cp -f oss://mybucket/config.json /etc/app/config.json

6. 按模式筛选下载(仅下载JPEG图片)

ossutil cp -r oss://mybucket/user_uploads/ /local/backups/ --include "*.jpg"

注意事项

  1. 权限验证:确保已通过 ossutil config 配置AccessKey或使用 -i/-k 参数临时指定
  2. 路径格式
    • OSS路径必须以 oss:// 开头
    • Windows本地路径使用反斜杠(如 D:\data\
  3. 网络优化
    • 大文件推荐使用 --part-size 调整分片大小(默认自动计算)
    • 跨国下载可通过 -e 指定就近Endpoint(如 oss-ap-southeast-1.aliyuncs.com
  4. 特殊字符处理
    • 含空格/中文的对象名需用引号包裹(如 oss://bucket/"file 名字.txt"
    • 使用 --encoding-type=url 处理编码后的对象名

操作验证

下载完成后,可通过以下命令检查文件一致性:

# 对比本地文件与OSS对象的CRC64值
ossutil ls oss://mybucket/path/to/object --meta=CRC64
md5sum /local/path/to/file  # 或使用其他哈希工具

更多细节可通过 ossutil cp --help 查看完整帮助文档。
注意:部分参数help里面显示有“=”,实际使用中不能加“=”,否则该参数会失效,比如--exclude 和--include都不能加“=”。

posted @ 2025-05-21 14:50  风拂诺影  阅读(438)  评论(0)    收藏  举报