前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用 S3CMD 访问 COS 服务

如何使用 S3CMD 访问 COS 服务

原创
作者头像
吴硕卫
发布于 2020-10-25 06:39:24
发布于 2020-10-25 06:39:24
2.8K0
举报

简介

S3cmd 是免费的命令行工具和客户端,用于在 Amazon S3 和其他兼容 S3 协议的对象存储中上传、下载和管理数据。本文主要介绍如何使用 S3cmd 访问 COS 上的文件。

准备工作

  1. 您已注册 腾讯云账号,并且从 访问管理控制台 上获取了腾讯云密钥 SecretID 与 SecretKey。

使用环境

软件依赖

  • Python 2.6+/3+。
  • 最新版本的 pip。

安装及配置

安装 S3cmd

  • 使用 pip 安装(推荐)

pip install s3cmd

安装成功之后,用户可以通过--version命令查看当前的版本信息。

配置参数

S3cmd 工具在使用前需要进行参数配置,默认读取 ~/.s3cfg 作为配置文件,可以直接在命令中指定参数,也可以直接通过程序的交互式命令创建配置文件。

  • 通过 s3cmd --configure 命令来初始化配置信息
代码语言:txt
AI代码解释
复制
Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.

Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.

//密钥 ID
//例:AChT4ThiXAbpBDEFGhT4ThiXAbp****
Access Key []:

//密钥 Key
//例:WE54wreefvds3462refgwewe****
Secret Key []:

//默认地域
Default Region []:

//这里需要填写COS的地域Endpoint接入地址 cos.<Region>.myqcloud.com
//如cos.ap-beijing.myqcloud.com
Use "s3.amazonaws.com" for S3 Endpoint and not modify it to the target Amazon S3.
S3 Endpoint []:

//COS服务接入地址 : 注意这里有一个 %(bucket)s 参数
//(bucket)s.cos.<region>.myqcloud.com,注意将region替换为您的存储桶所在的地域简称
//例:%"(bucket)s".ap-beijing.myqcloud.com
Use "%(bucket)s.s3.amazonaws.com" to the target Amazon S3. "%(bucket)s" and "%(location)s" vars can be used
if the target S3 system supports dns based buckets.
DNS-style bucket+hostname:port template for accessing a bucket []:

//是否开启HTTPS
Use HTTPS protocol []:

//保存设置
Save settings? [y/N]
  • 编辑 ~/.s3cfg配置文件

可以直接编辑~/.s3cfg 文件 (在 Windows 环境下,该文件是位于【我的文档】下的一个隐藏文件),该文件初始时不存在,是通过 s3cmd --configure 命令生成,用户也可以手动创建。

配置完成之后的.s3cfg文件内容示例如下所示:

代码语言:txt
AI代码解释
复制
[default]
#密钥 ID
access_key = AChT4ThiXAbpBDEFGhT4ThiXAbp****
#密钥 Key
secret_key = WE54wreefvds3462refgwewe****
#默认地域
bucket_location = US
#Endpoint接入端点
host_base = cos.ap-beijing.myqcloud.com
#COS服务接入地址
host_bucket = %(bucket)s.cos.ap-beijing.myqcloud.com
#是否开启HTTPS
use_https = False

access_token =
add_encoding_exts =
add_headers =
ca_certs_file =
cache_file =
check_ssl_certificate = True
check_ssl_hostname = True
cloudfront_host = cloudfront.amazonaws.com
connection_pooling = True
content_disposition =
content_type =
default_mime_type = binary/octet-stream
delay_updates = False
delete_after = False
delete_after_fetch = False
delete_removed = False
dry_run = False
enable_multipart = True
encrypt = False
expiry_date =
expiry_days =
expiry_prefix =
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase =
website_endpoint = http://%(bucket)s.s3-website-%(location)s.amazonaws.com/
guess_mime_type = True
human_readable_sizes = False
invalidate_default_index_on_cf = False
invalidate_default_index_root_on_cf = True
invalidate_on_cf = False
kms_key =
limit = -1
limitrate = 0
list_md5 = False
log_target_prefix =
long_listing = False
max_delete = -1
mime_type =
multipart_chunk_size_mb = 15
multipart_max_chunks = 10000
preserve_attrs = True
progress_meter = True
proxy_host =
proxy_port = 0
public_url_use_https = False
put_continue = False
recursive = False
recv_chunk = 65536
reduced_redundancy = False
requester_pays = False
restore_days = 1
restore_priority = Standard
send_chunk = 65536
server_side_encryption = False
signature_v2 = False
signurl_use_https = False
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
stats = False
stop_on_error = False
storage_class =
throttle_max = 100
upload_id =
urlencoding_mode = normal
use_http_expect = False
use_mime_magic = True
verbosity = WARNING
website_error =
website_index = index.html

经过如上配置后具体可以操作某一个地域的存储桶。

如有在其它兼容S3的工具中使用COS可以参考:https://cloud.tencent.com/document/product/436/41284

开始使用

下面为您介绍如何使用 s3cmd 完成一个基础操作,例如创建存储桶、查询存储桶列表、上传对象、查询对象列表、下载对象和删除对象。

创建存储桶

注意,该存储桶创建时的地域为配置信息里的默认地域

  • 命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd mb s3://<BucketName-APPID>
#操作示例
s3cmd mb s3://examplebucket-1250000000

删除存储桶

  • 命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd rb s3://<BucketName-APPID>
#操作示例
s3cmd rb s3://examplebucket-1250000000

查询存储桶列表

  • 命令如下:
代码语言:txt
AI代码解释
复制
s3cmd ls

查询对象列表

  • 命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd ls s3://<BucketName-APPID>
#操作示例
s3cmd ls s3://examplebucket-1250000000
#使用--recursive(或-r)列出所有文件:
s3cmd ls s3://examplebucket-1250000000 --recursive

上传文件或文件夹

  • 上传文件命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd put <localpath> s3://<BucketName-APPID>/<cospath>
#操作示例
s3cmd put exampleobject s3://examplebucket-1250000000/exampleobject
  • 上传文件夹命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd put --recursive <localdirpath> s3://<BucketName-APPID>/<cosdirpath>
#操作示例
s3cmd put dir1 s3://examplebucket-1250000000/dir1/ --recursive
s3cmd put dir1 dir2 s3://examplebucket-1250000000/dir1/ --recursive

复制文件或文件夹

  • 复制文件命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd cp s3://<BucketName-APPID>/<srccospath> s3://<BucketName-APPID>/<destcospath>
#操作示例
#复制 examplebucket1-1250000000 存储桶下的 exampleobject 对象到 examplebucket2-1250000000 存储桶的 exampleobject
s3cmd cp s3://examplebucket1-1250000000/exampleobject s3://examplebucket2-1250000000/exampleobject
  • 复制文件夹命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd cp s3://<BucketName-APPID>/<srccosdirpath> s3://<BucketName-APPID>/<destcosdirpath> -r
#操作示例
#复制 examplebucket1-1250000000 存储桶下的 examplefolder 目录到 examplebucket2-1250000000 存储桶的 examplefolder 目录
s3cmd cp s3://examplebucket1-1250000000/examplefolder/ s3://examplebucket2-1250000000/examplefolder/ -r

移动文件或文件夹

  • 移动文件命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd mv s3://<BucketName-APPID>/<srccospath> s3://<BucketName-APPID>/<destcospath>
#操作示例
#移动 examplebucket21-1250000000 存储桶下的 exampleobject 对象到 examplebucket2-1250000000 存储桶的 exampleobject
s3cmd mv s3://examplebucket1-1250000000/exampleobject s3://examplebucket2-1250000000/exampleobject
  • 移动文件夹命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd mv s3://<BucketName-APPID>/<srccosdirpath> s3://<BucketName-APPID>/<destcosdirpath> -r
#操作示例
#移动 examplebucket1-1250000000 存储桶下的 examplefolder 目录到 examplebucket2-1250000000 存储桶的 examplefolder 目录
s3cmd mv s3://examplebucket1-1250000000/examplefolder/ s3://examplebucket2-1250000000/examplefolder/ -r

下载文件

  • 下载文件命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd get s3://<BucketName-APPID>/<cospath> <localpath>
#操作示例
s3cmd put some-file.xml s3://examplebucket-1250000000/exampleobject
  • 暂不支持下载文件夹

删除文件或文件夹

  • 删除文件命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd del s3://<BucketName-APPID>/<cospath>
#操作示例
s3cmd del --recursive s3:s3://examplebucket-1250000000/exampleobject
  • 删除文件夹命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd del --recursive s3://<BucketName-APPID>/<cosdirpath>
#操作示例
s3cmd del --recursive s3:s3://examplebucket-1250000000/dir1/

分块上传文件

  • 命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd put <localpath> s3://<BucketName-APPID>/<cospath>  --multipart-chunk-size-mb=5
#操作示例
s3cmd put exampleobject s3://examplebucket-1250000000/exampleobject --multipart-chunk-size-mb=5

提示 multipart-chunk-size-mb 用来设置分块大小,最小值为 5MB, 最大值为 5GB, 默认值为 15MB。

显示桶内未完成的分块上传

  • 命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd multipart s3://<BucketName-APPID>
#操作示例
s3cmd multipart s3://examplebucket-1250000000

此处会打印出日期、路径以及上传 id

查询分块上传文件碎片

  • 命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd listmp s3://<BucketName-APPID>/<cospath> UploadID
#操作示例
s3cmd listmp s3://examplebucket-1250000000 1586497168ca632296cea7ebe10b43e6c22ab23a067c776d793da1316d8e991aadafd0cebb

提示 1586497168ca632296cea7ebe10b43e6c22ab23a067c776d793da1316d8e991aadafd0cebb 是上传 id,在 s3cmd multipart 中进行查询

清除分块上传文件碎片

  • 命令如下:
代码语言:txt
AI代码解释
复制
#命令
s3cmd abortmp s3://<BucketName-APPID>/<cospath> UploadID
#操作示例
s3cmd abortmp s3://examplebucket-1250000000 1586497168ca632296cea7ebe10b43e6c22ab23a067c776d793da1316d8e991aadafd0cebb

提示

1586497168ca632296cea7ebe10b43e6c22ab23a067c776d793da1316d8e991aadafd0cebb 是上传 id,在 s3cmd multipart 中进行查询

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何使用 S3CMD 访问 COS 服务
作者简介 吴硕卫:腾讯云技术支持工程师,现负责腾讯云存储产品的技术支持专项工作。 S3cmd 是免费的命令行工具和客户端,用于在 Amazon S3 和其他兼容 S3 协议的对象存储中上传、下载和管理数据。本文主要介绍如何使用 S3cmd 访问 COS 上的文件。 准备工作 您已注册腾讯云账号,并且从访问管理控制台上获取了腾讯云密钥 SecretID 与 SecretKey。 一、使用环境 1、软件依赖 Python 2.6+/3+ 最新版本的 pip 2、安装及配置 环境安装与配置详细操作请参见 P
云存储
2020/07/31
2.3K0
如何在CVM实例中访问对象存储
对象存储服务与客户的VPC打通,需要客户先确认在哪个子网中使用。由腾讯云工程师进行网络配置,会在客户指定的子网中配置一个vip并与对象存储打通并映射。
本地专用集群CDC
2023/04/21
3.8K0
COS SDK有Flutter和React Native版本啦
对象存储COS简介 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。 COS 通过控制台、API、SDK 和工具等多样化方式简单、快速地接入,实现了海量数据存储和管理。通过 COS 可以进行任意格式文件的上传、下载和管理。腾讯云提供了直观的 Web 管理界面,同时遍布全国范围的 CDN 节点可以对文件下载进行加速。 导语 Flu
云存储
2023/05/18
8840
COS SDK有Flutter和React Native版本啦
COS JavaSDK V4升级到V5版本
如果您细心对比过 JSON Java SDK 和 XML Java SDK 的文档,您会发现并不是一个简单的增量更新。XML Java SDK 在架构、可用性和安全性上有了非常大的提升,而且在易用性、健壮性和性能上也做了非常大的改进。如果您想要升级到 XML Java SDK,请参考下面的指引,完成 Java SDK 的升级工作。
卓恒
2020/12/29
1.8K0
s3cmd常用命令
1、配置s3cmd s3cmd --configure 2、列举所有buckets(bucket相当于根文件夹) 命令:s3cmd ls root@node4:/home# s3cmd ls 2016-09-18 03:51  s3://my-bucket 2016-09-18 02:02  s3://my-new-bucket-node4 2016-09-18 07:17  s3://zhangbo 3、创建bucket(bucket名称唯一,不能重复) 命令:s3cmd mb s3://{$BUCKET
py3study
2020/01/08
2.6K0
S3命令行工具:s3cmd与s5cmd的实用指南
本文主要记录的是两个 S3 服务的命令行工具,也就是 s3cmd 和 s5cmd;
MinChess
2024/11/13
1.2K0
S3命令行工具:s3cmd与s5cmd的实用指南
VMWARE 虚拟机导入腾讯云-离线迁移篇
对待迁移的虚拟机进行准备,包括检查并安装Virtio 驱动、安装 cloud-init。
本地专用集群CDC
2023/04/13
3.1K0
radowsgw 配置 s3cmd
http://www.lai18.com/content/6968965.html
py3study
2020/01/07
6140
【玩转腾讯云】使用 COSFS 挂载 COS 到云服务器节约空间
本文将介绍使用 COSFS 工具 将 WordPress/NextCloud 的文件目录挂载到 COS 存储桶的方法,以达到节约服务器硬盘空间的目的。
我是技术小白
2020/04/15
7.4K0
轻量对象存储,轻松上手应对各类文件管理
轻量对象存储(LighthouseCOS)是腾讯云专为中小企业开发者打造的易用、稳定、灵活扩展的轻量级数据存储服务,适用于云端网站、小程序、课堂演示、云盘/图床等场景下的数据存储和处理任务。轻量对象存储无目录层次结构、无数据格式限制,开箱即用、计费简单,为用户提供简单易用、高性价比的轻量存储体验。
用户10502126
2024/01/16
3970
轻量对象存储,轻松上手应对各类文件管理
使用腾讯云COS官方工具快速将本地数据迁移至COS
腾讯云COS提供了多种同步迁移工具,如COSCMD、COS Migration和COSBrowser客户端等
沈唁
2020/06/12
3.6K0
使用腾讯云COS官方工具快速将本地数据迁移至COS
在兼容亚马逊S3的第三方应用中使用COS的通用配置
Amazon Simple Storage Service(Amazon S3,下文简称 S3)是 AWS 最早推出的云服务之一,经过多年的发展,S3 协议在对象存储行业事实上已经成为标准。腾讯云对象存储 COS(下文简称 COS)提供了兼容 S3 的实现方案,因此您可以在大部分兼容 S3 应用中直接使用 COS 服务。本文将重点介绍如何将此类应用配置为使用 COS 服务。
云存储
2020/04/03
3.3K0
在兼容亚马逊S3的第三方应用中使用COS的通用配置
如何将本地数迁移至腾讯云之一工具篇 - COS Migration
COS Migration 是一个集成了 COS 数据迁移功能的一体化工具。通过简单的配置操作,用户可以将源地址数据快速迁移至 COS 中,它具有以下特点:
云存储
2019/11/28
2.2K0
如何将本地数迁移至腾讯云之一工具篇 - COS Migration
s3cmd安装与使用
一、安装  1.下载安装包。  这里我们使用s3cmd-1.0.0.tar.gz安装包  2.解压安装包  tar xzvf s3cmd-1.0.0.tar.gz  3.移动路径  mv s3cmd-1.0.0 /usr/local/s3cmd  4.创建软链接  ln -s /usr/local/s3cmd/s3cmd /usr/bin/s3cmd  5.执行配置命令(按提示输入相应密码等)  s3cmd --configure  注:执行该命令后,会生成~/.s3cfg配置文件。  6.编辑配置文件,修改以下几个参数。  vi ~/.s3cfg  [default]  access_key = xxx  secret_key = xxx  host_base = xxx.xxx.xxx  host_bucket = %(bucket)s.xxx.xxx.xxx
py3study
2020/01/07
4K0
php-sdk-腾讯云文字盲水印添加/提取
SDK文档链接:https://cloud.tencent.com/document/product/436/55584
phper-lee
2021/12/14
2.1K0
使用 COSFS 挂载 COS 到云服务器节约空间
作者介绍 我是技术小白:机械电子工程专业大四学生,业余时间喜欢折腾。 本文将介绍使用 COSFS 工具将 WordPress/NextCloud 的文件目录挂载到 COS 存储桶的方法,以达到节约服务器硬盘空间的目的。 Wordpress 的数据存放在安装目录下的 wp-content/uploads 文件夹,Nextcloud 的数据存放在安装目录下的 data 文件夹,里面存储着网站的媒体文件,占据的磁盘空间特别大。 为了节省磁盘空间,就将腾讯云对象存储(COS)挂载到他们的数据目录下,存储数据
云存储
2020/07/10
4.6K0
使用腾讯云CVM挂载COS作为Emby媒体服务器
多款腾讯云产品免费体验:https://cloud.tencent.com/act/free?from=20863 最近收集了一些4k杜比视界的资源,于是想搭建自己的媒体服务器,考虑到NAS维护麻烦、
4O4
2023/07/05
1.3K0
使用腾讯云CVM挂载COS作为Emby媒体服务器
腾讯云COS C++ SDK使用记录
目前有将服务器指定文件上传的需求, 手头正好有免费的COS资源使用, 于是使用COS作为存储工具
code-x
2022/08/21
8.5K1
腾讯云 cos Go SDK使用学习
参考资料 官方文档 官方示例 基本概念 Bucket(存储桶) 命名上,由存储桶名称(BucketName)和APPID两部分组成,中间以"-“相连,例如examplebucket-1250000000 存储桶具有着地域(region),对象存储允许用户在不同的地域上创建存储桶。 Object(对象) 存储桶上存储的内容称为对象,对象是对象存储(Cloud Object Storage, cos)的基本单元,包括对象键、对象值和对象元数据 对象键是对象在存储桶中的唯一标识,可以通俗理解为文件路径。 对象值
千灵域
2022/06/17
18.2K1
s3cmd命令_cmd常用命令详解
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/01
1.9K0
相关推荐
如何使用 S3CMD 访问 COS 服务
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档