七牛云入门

2018-02-02|Categories: Cloud|

七牛云是国内领先的企业级云服务商,用户可以使用七牛云免费搭建网站、存储文件、CDN加速,超过一定限制之后才需要付费。

下载qshell

七牛官方提供了强大易用的命令行工具qshell,下载和安装都非常简单:

# download linux x64 version
wget https://dn-devtools.qbox.me/2.1.5/qshell-linux-x64

mv qshell-linux-x64 /usr/local/bin/qshell

以下大部分操作都使用qshell的子命令完成。

点击查看所有子命令的文档

获取远程访问权限

首先必须在七牛云官网注册一个免费账号,然后进入「管理控制台」,在「个人中心」→「秘钥管理」找到「AccessKey/SecretKey」。

然后使用account子命令:

# 复制自己的AccessKey、SecretKey分别替换相应字段
qshell account AccessKey SecretKey

命令执行后,在~/.qshell会生成account.json文件,稍后执行qshell命令会自动读取其中的信息。

列出所有Bucket

七牛使用「Bucket」这个术语,可以简单理解为文件夹。buckets子命令可以列出当前账号下所有的Bucket:

# 目前我只有一个Bucket
$ qshell buckets
src-tarballs

列出指定Bucket中的文件

使用listbucket子命令:

# `stdout`表示把结果输出到屏幕,而不是另存为文件
$ qshell listbucket src-tarballs stdout
apr-1.6.3.tar.bz2       854100   Fk86qNggSiZ0houdSFwRNJ4YSJh9  15174776158880015  application/x-bzip2       0
apr-util-1.6.1.tar.bz2  428595   FkzHO8NsppdBn1VUdvL8HGPfYGn0  15174776349469652  application/x-bzip2       0
httpd-2.4.29.tar.bz2    6567926  liVUeZuyNIrDQX9VEKdXJ_PDUe8S  15174775729352217  application/x-bzip2       0
lamp-tarballs.sha256    433      FrLwRcrq376aLrt5UBtXVGd6tlpm  15174798303266982  application/octet-stream  0

上传文件

上传文件使用rput子命令:

# rput syntax
qshell rput <Bucket> <Key> <LocalFile> [Overwrite] [MimeType] [UpHost] [FileType]

实际用法:

# `true`表示覆盖已有文件
qshell rput src-tarballs lamp-tarballs.sha256 lamp-tarballs.sha256 true

更多详细说明详见rput文档

下载文件

每个Bucket都有一个「外链默认域名」,类似p3gtzlzk8.bkt.clouddn.com,如果Bucket被设置为公开,任何人都可以下载Bucket中的文件:

wget http://p3gtzlzk8.bkt.clouddn.com/lamp-tarballs.sha256

重命名文件

重命名文件使用move子命令:

qshell move src-tarballs mariadb-binary-10.sha256 src-tarballs mariadb-10.2.12-linux-x86_64.tar.gz.sha256

从互联网抓取一个资源并存储到七牛

小于50M:fetch

# 语法
qshell fetch <RemoteResourceUrl> <Bucket> [<Key>]

# 示例
$ qshell fetch https://www.baidu.com/img/bdlogo.png if-pbl bdlogo.png
Key: bdlogo.png
Hash: FrUHIqhkDDd77-AtiDcOwi94YIeM
Fsize: 5331 (5.21 KB)
Mime: image/png

如果不指定文件名(<Key>),默认将把文件的Hash值作为文件名。

大于50M:sync

# 语法
qshell sync <SrcResUrl> <Bucket> <Key> [<UpHostIp>]

# 示例
qshell sync http://if-pbl.qiniudn.com/test_big_movie.mp4 if-pbl test.mp4

<UpHostIp>是上传入口的IP地址,一般在大文件的情况下,可以指定上传入口的IP来减少DNS环节,提升同步速度。上传入口的域名对应的IP地址可以通过如下的命令来获取解析的结果:

# 华东机房
$ dig up.qiniu.com

# 华北机房
$ dig up-z1.qiniu.com

# 华南机房
$ dig up-z2.qiniu.com

# 北美机房
$ dig up-na0.qiniu.com

Leave A Comment