【编者的用L云存话】
亚马逊简单存储服务(S3)是亚马逊网络服务公司(AWS)提供的云存储服务中一个重要的组成部分,也是中的只安用户使用最为广泛的云存储服务。使用AmazonS3的命令好处很多,其中***的行访三个好处就是安全、可靠、储带处价格低廉。用L云存就算您是中的只安一个 SAN 专家,喜欢维护硬件资产来存储数据内容,命令它也可能比您做的行访更好。在本教程中将介绍如何从Linux中的储带处命令行来访问亚马逊S3云存储。
以下为作者原文。
[[126123]]
亚马逊简单存储服务(S3)是亚马逊网络服务公司(AWS)提供的一项云存储服务。亚马逊S3发布了一系列Web服务接口,许多第三方商业服务或客户机软件都是基于这些接口开发而成的。
我在本教程中将介绍如何从Linux中的命令行来访问亚马逊S3云存储。
***的亚马逊S3命令行客户软件之一是用python编写的s3cmd(http://s3tools.org/s3cmd)。作为一种简单的AWS S3命令行工具,你想运行诸如每日备份之类的脚本化计划任务时,使用s3cmd再理想不过了。
Linux上安装s3cmd
如果想在Ubuntu或Debian上安装s3cm,运行这个命令:
- $ sudo apt-get install s3cmd
如果想在Fedora上安装s3cmd,运行这个命令:
- $ sudo yum install s3cmd
如果想在CentOS或RHEL上安装s3cm,先从官方网站(http://s3tools.org/repo/RHEL_6/)安装.rpm程序包,然后手动安装。针对64位CentOS或RHEL 6,运行这个命令:
- $ sudo rpm -ivh s3cmd-1.0.0-4.1.x86_64.rpm
配置s3cmd
你***次运行s3cmd时,需要运行下面这个命令,对它进行配置:
- $ s3cmd --configure
它会向你提出一系列问题:
然后配置内容将以明文格式保存在~/.s3cfg中。
s3cmd的基本用法
想列出你的AWS S3帐户中所有的现有存储桶(bucket),运行这个命令:
- $ s3cmd ls
- 2011-05-28 22:30 s3://mybucket1
- 2011-05-29 00:14 s3://mybucket2
想创建一个新的存储桶,运行这个命令:
- $ s3cmd mb s3://dev99
- Bucket 's3://dev99/' created
想把文件上传到一个现有的存储桶,运行这个命令:
- $ s3cmd put 1.png 2.png 3.png s3://dev99
- 1.png -> s3://dev99/1.png [1 of 3]
- 26261 of 26261 100% in 5s 4.33 kB/s done
- 2.png -> s3://dev99/2.png [2 of 3]
- 201430 of 201430 100% in 2s 98.05 kB/s done
- 3.png -> s3://dev99/3.png [3 of 3]
- 46630 of 46630 100% in 0s 56.62 kB/s done
已上传文件的默认访问权限是“private”(私有),这意味着只有你才可以访问这些文件,不过需使用正确的访问密钥和安全密钥。
想把文件上传到拥有公开访问权限的现有存储桶,运行这个命令:
- $ s3cmd put --acl-public 4.png s3://dev99
- 4.png -> s3://dev99/4.png [1 of 1]
- 30778 of 30778 100% in 8s 3.34 kB/s done
- Public URL of the object is: http://dev99.s3.amazonaws.com/4.png
如果授予公开访问权限,任何人都可以访问已上传文件,只要使用任何Web浏览器访问http://dev99.s3.amazonaws.com/4.png。
想查看现有存储桶里面的的内容,运行这个命令:
- $ s3cmd ls s3://dev99
- 2013-06-02 02:52 26261 s3://dev99/1.png
- 2013-06-02 02:52 201430 s3://dev99/2.png
- 2013-06-02 02:52 46630 s3://dev99/3.png
- 2013-06-02 02:56 30778 s3://dev99/4.png
想下载现有存储桶里面含有的文件(比如所有的.png文件),运行这个命令:
- $ s3cmd get s3://dev99/*.png
- s3://dev99/1.png -> ./1.png [1 of 4]
- 26261 of 26261 100% in 0s 39.39 kB/s done
- s3://dev99/2.png -> ./2.png [2 of 4]
- 201430 of 201430 100% in 7s 24.64 kB/s done
- s3://dev99/3.png -> ./3.png [3 of 4]
- 46630 of 46630 100% in 1s 39.34 kB/s done
- s3://dev99/4.png -> ./4.png [4 of 4]
- 30778 of 30778 100% in 0s 97.01 kB/s done
想删除现有存储桶里面的文件,运行这个命令:
- $ s3cmd del s3://dev99/*.png
- File s3://dev99/1.png deleted
- File s3://dev99/2.png deleted
- File s3://dev99/3.png deleted
- File s3://dev99/4.png deleted
想获得关于现有存储桶的信息,包括存储桶的存储位置和访问控制列表(ACL),运行这个命令:
- $ s3cmd info s3://dev99
- s3://dev99/ (bucket):
- Location: us-east-1
- ACL: dan.nanni: READ
- ACL: dan.nanni: WRITE
- ACL: dan.nanni: READ_ACP
- ACL: dan.nanni: WRITE_ACP
将文件上传到现有存储桶之前对文件进行加密,运行这个命令:
- $ s3cmd -e put encrypt.png s3://dev99
- /tmp/tmpfile-pzT1zV3kLZlxDwqA0kwy -> s3://dev99/encrypt.png [1 of 1]
- 196890 of 196890 100% in 1s 99.51 kB/s done
用s3cmd下载已加密文件时,它会自动检测有无加密,一旦下载,就对文件实时进行解密。因而,想下载和访问已加密文件,只要像平常那样运行即可:
- $ s3cmd get s3://dev99/encrypt.png
- s3://dev99/encrypt.png -> ./encrypt.png [1 of 1]
- 196890 of 196890 100% in 1s 131.29 kB/s done
想删除现有的存储桶,运行这个命令:
- $ s3cmd rb s3://dev99
- Bucket 's3://dev99/' removed
请注意:如果存储桶里面不是空的,就没法删除它。
英文原文链接:http://xmodulo.com/how-to-access-amazon-s3-cloud-storage-from-command-line-in-linux.html
责任编辑:Ophira 来源: 51CTO 亚马逊AmazonS3AWS云存储Linux命令行
(责任编辑:探索)
文投控股(600715.SH):北京文创定增基金已减持17.89万股 占公司总股份的0.0096%
微软Microsoft 365推新版,半年免费Teams服务
谷歌又崩了!连 Google Search 都不能用,官方道歉,网友:活久见
同济科技(600846.SH):终止2017年度配股公开发行证券方案 维护投资者利益