怎样用linux命令行访问AmazonS3云存储

本文由 极客范 - pythagoras 翻译自 Dan Nanni。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

Amazon S3 是Amazon网落服务(Amazon Web Services,AWS)提供的云存储。Amazon S3在众多第三方已经开发完成的商业服务或客户端软件之上,发布了一组网络服务接口。本教程描述怎样用linux命令行访问Amazon S3云存储。

最著名的Amazon S3命令行客户端是用python写的s3cmd。作为一个简单的AWS S3命令行工具,s3cmd的思想是用于运行脚本化的cron任务,比如每天的备份工作。

在linux上安装s3cmd

在Ubuntu或者Debian上安装s3cm

在Fedora上安装s3cmd

在CentOS或者RHEL上安装s3cm

先从官方站点上下载rpm包,然后手工安装。64位CentOS或RHEL 6,用以下命令:

配置s3cmd

第一次运行s3cmd需要运行下面的命令做配置:

它将会问你一系列问题:

  • AWS S3的访问密钥和安全密钥
  • 对AWS S3双向传输的加密密码和加密数据
  • 为加密数据设定GPG程序的路径(例如,/usr/bin/gpg)
  • 是否使用https协议
  • 如果使用http代理,设定名字和端口

配置将以保存普通文本格式保存在 ~/.s3cfg.

s3cmd的基本用法

在你的账户中列出所有现有的bucket

建立新的bucket:

上传文件到现有的bucket:

上传文件的默认访问权限是私有的(private),就是只有你自己可以访问,使用正确的访问和安全密码即可。

上传公开访问权限的文件到现有bucket

如果上传的文件授予公开访问权限,任何人在浏览器中都可以通过http://dev99.s3.amazonaws.com/4.png 访问。

查看一个现有bucket的内容

 下载现有bucket包含的文件(例如所有的.png文件):

删除现有bucket中的文件

获取现有bucket的信息,包括存储位置和访问控制列表(ACL):

在上传到现有的bucket之前,加密文件

当用s3cmd下载一个加密过的文件时,它会自动检测加密并在下载过程解密,因此下载和访问加密文件时,就像通常所做的一样:

删除现有的bucket:

注意,你不能删除一个非空的bucket.



原文链接: Dan Nanni 翻译: 极客范 - pythagoras

译文链接: http://www.geekfan.net/7935/

[ 转载请保留原文出处、译者和译文链接。]

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">