阅读102 返回首页    go 阿里云


OSS 命令介绍__最佳实践_命令行工具 CLI-阿里云

本文档将通过实例,介绍如何使用 OSS 命令。

Config

命令说明:

Config --host oss.aliyuncs.com --accessid accessid --accesskey accesskey --sts_token token 用于配置命令行工具使用默认的 host、ID 和 KEY。默认的 host 为 oss.aliyuncs.com,如果需要访问 oss-internal.aliyuncs.com,可以加上 host oss-internal.aliyuncs.com。

使用示范:

  1. aliyuncli oss Config --host oss.aliyuncs.com --accessid accessid --accesskey accesskey --sts_token token

GetAllBucket

命令说明:

GetAllBucket 用于显示用户创建的 bucket。

使用示范:

  1. aliyuncli oss GetAllBucket

CreateBucket

命令说明:

CreateBucket oss://bucket --acl [acl] oss://bucket 用于创建 bucket。acl 参数可以传入,也可以不传入。

使用示范:

  1. aliyuncli oss CreateBucket oss://myfirstbucket --acl public-read
  1. aliyuncli oss CreateBucket oss://mysecondbucket --acl private
  1. aliyuncli oss CreateBucket oss://mythirdbucket

DeleteBucket

命令说明:

DeleteBucket oss://bucket是删除 bucket 的命令。

使用示范:

  1. aliyuncli oss DeleteBucket oss://mybucket
  1. aliyuncli oss DeleteBucket oss://myfirstbucket

DeleteWholeBucket

危险:该命令十分危险,将会删除所有的数据,并且不可恢复。请慎重使用!

命令说明:

DeleteWholeBucket oss://bucket 用于删除 bucket 及其内部 object 以及 multipart 的相关内容。

使用示范:

  1. aliyuncli oss DeleteWholeBucket oss://mybucket

GetAcl

命令说明:

GetAcl oss://bucket 用于获取 bucket 的访问控制权限。

使用示范:

  1. aliyuncli oss GetAcl oss://mybucket

SetAcl

命令说明:

SetAcl oss://bucket –acl [acl] 用于修改 bucket 的访问控制权限。acl 只允许为 private、public-read 和 public-read-write 三个当中的一个。

使用示范:

  1. aliyuncli oss SetAcl oss://mybucket --acl private

List

命令说明:

List oss://bucket/[prefix] [marker] [delimiter] [maxkeys] 用于列出 bucket 中的 object。

使用示范:

  1. aliyuncli oss List oss://mybucket/folder1/folder2
  1. aliyuncli oss List oss://mybucket/folder1/folder2 maker1

MkDir

命令说明:

MkDir oss://bucket/dirname 用于创建一个以“/”结尾的 object,并且 size 为 0。

使用示范:

  1. aliyuncli oss MkDir oss://mybucket/folder

ListAllObject

命令说明:

ListAllObject oss://bucket/[prefix] 用于显示 bucket 下所有的 object,可以指定 prefix 来显示。

使用示范:

  1. aliyuncli oss ListAllObject oss://mybucket
  1. aliyuncli oss ListAllObject oss://mybucket/testfolder/

DeleteAllObject

危险:该命令十分危险,将会删除所有的数据,并且不可恢复。请慎重使用!

命令说明:

DeleteAllObject oss://bucket/[prefix]用于删除 bucket 下所有的 object,可以指定特定的 prefix 来删除。

使用示范:

  1. aliyuncli oss DeleteAllObject oss://mybucket
  1. aliyuncli oss DeleteAllObject oss://mybucket/testfolder/

DownloadAllObject

命令说明:

DownloadAllObject oss://bucket/[prefix] localdir --replace false 用于将 bucket 下的 object 下载到本地目录,并且保持目录结构。可以指定 prefix 下载。replace false 表示如果下载时,本地已经存在同名文件,不会覆盖。true 则会覆盖。

使用示范:

  1. aliyuncli oss DownloadAllObject oss://mybucket /tmp/folder
  1. aliyuncli oss DownloadAllObject oss://mybucket /tmp/folder --replace=false
  1. aliyuncli oss DownloadAllObject oss://mybucket /tmp/folder --replace=true

DownloadToDir

命令说明:

DownloadToDir oss://bucket/[prefix] localdir --replace=false 用于将 bucket 下的 object 下载到本地目录,并且保持目录结构。可以指定 prefix 下载。replace false 表示如果下载时,本地已经存在同名文件,不会覆盖。true 则会覆盖。同 downloadallobject 效果一样。

使用示范:

  1. aliyuncli oss DownloadToDir oss://mybucket /tmp/folder
  1. aliyuncli oss DownloadToDir oss://mybucket /tmp/folder --replace false
  1. aliyuncli oss DownloadToDir oss://mybucket /tmp/folder --replace true

UploadObjectFromLocalDir

命令说明:

UploadObjectFromLocalDir localdir oss://bucket/[prefix] --check_point check_point_file --replace false --check_md5 false --thread_num 5 用于将本地目录里的文件上传到 bucket 中。例如 localdir 为 /tmp/ 里面有 a/b、a/c、a 三个文件,则上传到 OSS 中为 oss://bucket/a/b、oss://bucket/a/c、oss://bucket/a。如果指定了 prefix为mytest,则上传到 OSS 中为 oss://bucket/mytest/a/b、oss://bucket/mytest/a/c、oss://bucket/mytest/a。check_point check_point_file 是指定文件。指定文件后,osscmd 会将已经上传的本地文件以时间戳的方式放到 check_point_file 中,uploadfromdir 命令会将正在上传的文件的时间戳和 check_point_file 记录的时间戳进行比较。如果有变化则会重新上传,否则跳过。默认情况下是没有 check_point_file 的。

注意:由于 check_point_file 文件中记录的是上传的所有文件。所以当上传文件特别多的时候,check_point_file 会特别巨大。

使用示范:

  1. aliyuncli oss UploadObjectFromLocalDir /mytemp/folder oss://mybucket
  1. aliyuncli oss UploadObjectFromLocalDir /mytemp/folder oss://mybucket --check_point_file /tmp/mytemp_record.txt

Put

命令说明:

Put localfile oss://bucket/object --content-type [content_type]--headers "key1:value1,key2:value2" 用于上传一个本地的文件到 bucket 中,可以指定 object 的 content-type,或者指定自定义的 headers。

使用示范:

  1. aliyuncli oss Put myfile.txt oss://mybucket
  1. aliyuncli oss Put myfile.txt oss://mybucket/myobject.txt
  1. aliyuncli oss Put myfile.txt oss://mybucket/test.txt --content-type plain/text --headers “x-oss-meta-des:test,x-oss-meta-location:CN”
  1. aliyuncli oss Put myfile.txt oss://mybucket/test.txt --content-type plain/text

Get

命令说明:

Get oss://bucket/object localfile 用于将 object 下载到本地文件。

使用示范:

  1. aliyuncli oss Get oss://mybucket/myobject /tmp/localfile

MultiGet

命令说明:

MultiGet oss://bucket/object localfile --thread_num 5 用于将 object 以多线程的方式下载到本地文件。

使用示范:

  1. aliyuncli oss MultiGet oss://mybucket/myobject /tmp/localfile
  1. aliyuncli oss MultiGet oss://mybucket/myobject /tmp/localfile

Cat

命令说明:

Cat oss://bucket/object 用于读取 object 的内容并直接打印出来。在 object 内容比较大的时候请不要使用。

使用示范:

  1. aliyuncli oss Cat oss://mybucket/myobject

Meta

命令说明:

Meta oss://bucket/object 用于读取 object 的 meta 信息并打印出来。meta 信息包括 content-type、文件长度、自定义 meta 等内容。

使用示范:

  1. aliyuncli oss Meta oss://mybucket/myobject

Copy

命令说明:

Copy oss://source_bucket/source_object oss://target_bucket/target_object --headers="key1:value1,key2:value2" 用于将源 bucket 的源 object 复制到目的 bucket 中的目的 object。

使用示范:

  1. aliyuncli oss Copy oss://bucket1/object1 oss://bucket2/object2

Delete

命令说明:

Delete oss://bucket/object 用于删除 object。

使用示范:

  1. aliyuncli oss Delete oss://mybucket/myobject

SignUrl

命令说明:

SignUrl oss://bucket/object --timeout [timeout_seconds] 用于生成一个包含签名的 URL,并指定超时的时间。适用于 bucket 为私有时将特定的 object 提供给他人访问。

使用示范:

  1. aliyuncli oss SignUrl oss://mybucket/myobject

Init

命令说明:

Init oss://bucket/object 用于初始化生成一个 Upload ID。这个 Upload ID 可以配合后面的 MultiUpload 命令来使用。

使用示范:

  1. aliyuncli oss Init oss://mybucket/myobject

ListPart

命令说明:

ListPart oss://bucket/object --upload_id xxx 用于显示指定 object 的 Upload ID 下已经上传的 Parts。相关概念见 OSS API 文档。必须要指定 Upload ID。

使用示范:

  1. aliyuncli oss ListPart oss://mybucket/myobject --upload_id 75835E389EA648C0B93571B6A46023F3

ListParts

命令说明:

ListParts oss://bucke 用于显示 bucket 中未完成的 multipart Upload ID 和 object。一般在删除 bucke 或提示 bucket 非空的情况下,可以用这个命令查看是否有 multipart 相关的内容。

使用示范:

  1. aliyuncli oss ListParts oss://mybucket

GetAllPartSize

命令说明:

GetAllPartSize oss://bucket 用于显示 bucket 中还存在的 Upload ID 已经上传的 Parts 的总大小。

使用示范:

  1. aliyuncli oss GetAllPartSize oss://mybucket

Cancel

命令说明:

Cancel oss://bucket/object --upload_id xxx 用于终止 Upload ID 对应的 Multipart Upload 事件。

使用示范:

  1. aliyuncli oss Cancel oss://mybucket/myobject --upload_id D9D278DB6F8845E9AFE797DD235DC576

MultiUpload

命令说明一:

MultiUpload localfile oss://bucket/object 用于将本地文件以 multipart 的方式上传到 OSS。

使用示范:

  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object

命令说明二:

MultiUpload localfile oss://bucket/object --upload_id xxx --thread_num 10 --max_part_num 1000 用于将本地文件以 multipart 的方式上传到 OSS。本地文件划分的块数由 max_part_num 来指定。这个命令在实现的时候,会先去判断 Upload ID 对应的 Parts 的 ETag 是否和本地文件的MD5值相等,若相等则跳过上传。所以如果在使用之前生成一个 Upload ID,作为参数传进来,即使上传没有成功,重复执行相同的 Multiupload 命令可以达到一个断点续传的效果。

使用示范:

  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object --upload_id D9D278DB6F8845E9AFE797DD235DC576
  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object --thread_num 5
  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object --max_part_num 100

UploadPartFromFile

命令说明:

UploadPartFromFile localfile oss://bucket/object --upload_id xx --part_number xxx 主要用于测试,不推荐使用。

UploadPartFromString

命令说明:

UploadPartFromString oss://bucket/object --upload_id xxx --part_number xxx --data xxx 主要用于测试,不推荐使用。

最后更新:2016-11-23 16:04:06

  上一篇:go RDS 高级命令__最佳实践_命令行工具 CLI-阿里云
  下一篇:go CDN 命令介绍__最佳实践_命令行工具 CLI-阿里云