【编者按】AmazonSimpleStorageService(S3)是AmazonWebServices(AWS)提供的云存储服务的重要组成部分,而且也是用户使用最广泛的云存储服务。使用AmazonS3有很多好处,其中最重要的三个是安全性、可靠性和低价格。即使你是一个喜欢维护硬件资产来存储数据内容的SAN专家,它也可能比你更好。在本教程中,我们将向您展示如何在Linux中从命令行访问AmazonS3云存储。以下为作者原文。AmazonSimpleStorageService(S3)是AmazonWebServices(AWS)提供的云存储服务。AmazonS3发布了一系列的Web服务接口,许多第三方商业服务或客户端软件都是基于这些接口开发的。在本教程中,我将解释如何在Linux中从命令行访问AmazonS3云存储。最好的AmazonS3命令行客户端之一是用Python编写的s3cmd(http://s3tools.org/s3cmd)。作为一个简单的AWSS3命令行工具,s3cmd是您想要运行脚本化计划任务(例如每日备份)的理想选择。在Linux上安装s3cmd如果你想在Ubuntu或Debian上安装s3cm,运行这个命令:$sudoapt-getinstalls3cmd如果你想在Fedora上安装s3cmd,运行这个命令:$sudoyuminstalls3cmd如果你想在CentOS或RHEL上安装s3cm,首先从官网(http://s3tools.org/repo/RHEL_6/)安装.rpm包,然后手动安装。对于64位CentOS或RHEL6,运行此命令:$sudorpm-ivhs3cmd-1.0.0-4.1.x86_64.rpm配置s3cmd首次运行s3cmd时,需要运行以下命令进行配置:$s3cmd--configure它会问你一系列问题:AWSS3accesskeyandsecuritykey用于加密传入和传出AWSS3的数据的加密密码用于加密数据的GPG程序的路径(例如/usr/bin/gpg)是否使用HTTPS协议如果使用HTTPS协议,HTTP代理的名称和端口以及配置内容将以纯文本格式保存在~/.s3cfg中。s3cmd的基本用法要列出您的AWSS3帐户中的所有现有存储桶,请运行此命令:$s3cmdls2011-05-2822:30s3://mybucket12011-05-2900:14s3://mybucket2want要创建新存储桶,请运行此命令命令:$s3cmdmbs3://dev99Bucket's3://dev99/'created要将文件上传到现有存储桶,请运行此命令:$s3cmdput1.png2.png3.pngs3://dev991.png->s3://dev99/1.png[1of3]26261of26261100%in5s4.33kB/sdone2.png->s3://dev99/2.png[2of3]201430of201430100%in2s98.05kB/sdone3.png->s3://dev99/3.png[3of3]46630of46630100%in0s56.62kB/sdone上传文件的默认访问权限为“私有”,即只有您可以访问这些文件,但需要使用正确的访问密钥和安全密钥。要将文件上传到具有公共访问权限的现有存储桶,请运行此命令:$s3cmdput--acl-public4.pngs3://dev994.png->s3://dev99/4.png[1of1]30778of30778100%in8s3.34kB/sdonePublicURLoftheobjectis:http://dev99.s3.amazonaws.com/4.png如果授予公共访问权限,任何人都可以通过使用任何网络浏览器访问http://dev99.s3.amazonaws.com/4来访问上传的文件。PNG。要查看现有存储桶的内容,请运行此命令:$s3cmdlss3://dev992013-06-0202:5226261s3://dev99/1.png2013-06-0202:52201430s3://dev99/2.png2013-06-0202:5246630s3://dev99/3.png2013-06-0202:5630778s3://dev99/4.png要下载现有存储桶中包含的文件(例如所有.png文件),请运行此命令:$s3cmdgets3://dev99/*.pngs3://dev99/1.png->./1.png[1of4]26261of26261100%in0s39.39kB/sdones3://dev99/2.png->./2.png[2of4]201430of201430100%in7s24.64kB/sdones3://dev99/3.png->./3.png[3of4]46630of46630100%in1s39.34kB/sdones3://dev99/4.png->./4.png[4of4]30778of30778100%in0s97.01kB/sdone要删除现有桶中的文件,运行这个命令:$s3cmddels3://dev99/*.pngFiles3://dev99/1.pngdeletedFiles3://dev99/2.pngdeletedFiles3//dev99/3.pngdeletedFiles3://dev99/4.pngdeleted要获取有关现有存储桶的信息,包括存储桶的存储位置和访问控制列表(ACL),请运行以下命令:$s3cmdinfos3://dev99s3://dev99/(桶):位置:us-east-1ACL:dan.nanni:READACL:dan.nanni:WRITEACL:dan.nanni:READ_ACPACL:dan.nanni:WRITE_ACP在将文件上传到现有存储桶之前要加密文件,请运行此命令:$s3cmd-eutencrypt.pngs3://dev99/tmp/tmpfile-pzT1zV3kLZlxDwqA0kwy->s3://dev99/encrypt.png[1of1]196890of196890100%in1s99.51kB/sdone使用s3cmd下载加密文件时,会自动检测是否加密,下载后实时解密文件。因此,如果你想下载和访问加密文件,只需照常运行:$s3cmdgets3://dev99/encrypt.pngs3://dev99/encrypt.png->./encrypt.png[1of1]196890of196890100%in1s131.29kB/sdone要删除现有的桶,运行此命令:$s3cmdrbs3://dev99Bucket's3://dev99/'removed注意:如果桶不为空,则无法删除。英文原文链接:http://xmodulo.com/how-to-access-amazon-s3-cloud-storage-from-command-line-in-linux.html
