首页 > 代码库 > oss cmd

oss cmd

osscmd是基于python 2.5.4(其他版本没有试过),用来操作OSS的,可使用命令行来上传和下载文件。 
下载地址:http://storage.aliyun.com/leo/osscmd.tar.gz  
使用方法: 
1. 下载到某一目录,例如下载到/tmp/ 目录 
请先确认机器上安装了python,目前只在2.5.4上测试过。 
wget http://storage.aliyun.com/leo/osscmd.tar.gz  
 
2. 解压后会有osscmd和oss目录, 
#解压 
tar -zxvf osscmd.tar.gz 
 
#查看解压的目录,应该有如下结果 
$ ls 
oss  osscmd  osscmd.tar.gz 
 
#创建快捷执行方式 
vi ~/.bashrc 
添加如下 
alias osscmd=‘python /tmp/osscmd‘ 
 
#让快捷方式生效 
source ~/.bashrc 
#确认生效 
在任意目录敲击osscmd能出现如下内容就表示生效了。 
 
$ osscmd  
osscmd: 
    getallbucket(gs) 
    createbucket(cb,mb,pb) bucket --acl=[acl] 
    deletebucket(db) bucket 
    deletewholebucket bucket 
    getacl bucket 
    setacl bucket --acl=[acl]  
        allow private, public-read, public-read-write 
    ls(list) oss://bucket/[prefix] [marker] [delimiter] [maxkeys] 
    listallobject oss://bucket/[prefix] 
    deleteallobject oss://bucket/[prefix] 
    downloadallobject oss://bucket/[prefix] localdir 
    put localfile oss://bucket/object --content-type=[content_type] --headers="key1:value1, key2:value2"  
    upload localfile oss://bucket/object --content-type=[content_type] 
    get oss://bucket/object localfile 
    cat oss://bucket/object 
    meta oss://bucket/object 
    copy oss://source_bucket/source_object oss://target_bucket/target_object --headers="key1:value1, key2:value2" 
    rm(delete,del) oss://bucket/object 
    signurl(sign) oss://bucket/object --timeout=[timeout_seconds] 
    init oss://bucket/object 
    uploadpartfromstring(upfs) oss://bucket/object --upload_id=xxx --part_number=xxx --data=http://www.mamicode.com/xxx
    listpart oss://bucket/object --upload_id=xxx 
    listparts oss://bucket 
    multiupload(multi_upload,mp) localfile oss://bucket/object  
    multiupload(multi_upload,mp) localfile oss://bucket/object --upload_id=xxx --thread_num=10 --max_part_num=1000 
 
    config --id=[accessid] --key=[accesskey] 
 
3. 配置id和key 
先用osscmd config --id=xxxx --key=xxx来配置id和key 
不知道什么是id和key?不知道id和key是什么?请参考 
http://help.aliyun.com/manual?helpId=786 
 
4. 创建bucket 这里以myfirstbucket为例,由于bucket必须是唯一的,所以在创建bucket的时候请输入一个其他名字 
对应说明中的命令: 
createbucket(cb,mb,pb) bucket --acl=[acl]  
 
#可以这样输入,默认acl(访问控制权限)是私有读写,也就是private 
osscmd cb myfirstbucket 或者输入osscmd createbucket myfirstbucket --acl=private 
#查看acl 
osscmd getacl myfirstbucket 
 
5. 查看创建的bucket 
osscmd gs 或者 osscmd getallbucket 
#如果成功则可以看见 
2012-06-30 03:32 myfirstbucket  
 
6. 上传文件 
#例如上传本地的jpg到OSS上 
$ osscmd put nvshen.jpg oss://myfirstbucket/mytestfolder/test.jpg 
100%  Object URL is: http://storage.aliyun.com/myfirstbucket/mytestfolder/test.jpg 
Object abstract path is: oss://myfirstbucket/mytestfolder/test.jpg 
ETag is "178F994367F196AAFA025F2A7CD7B51C"  
 
#确认object已经上传 
 
$ osscmd ls oss://myfirstbucket 
prefix list is:  
object list is:  
2012-06-30 03:42   35KB oss://myfirstbucket/mytestfolder/test.jpg  
prefix list number is: 0  
object list number is: 1 
 
7. 下载文件,请注意 
 
get oss://bucket/object localfile 
#实际输入 
osscmd get oss://myfirstbucket/mytestfolder/test.jpg test.jpg 
 
其他的命令和这些类似 
需要注意的是deleteallobject oss://bucket/[prefix] 这个删除命令需要慎重,请先用在不重要的bucket,确认这个命令和你想象的一样。 
 
欢迎各种吐槽,各种拍砖。 

oss cmd