单行命令完玩转阿里云OSS

1、第一步

下载并配置好osscmd config –host=[oss.aliyuncs.com] –id=[accessid] –key=[accesskey]

2、批量上传文件

上传文件夹

find $dirname | sed 's/\.\///g' | xargs -I {} osscmd put {} oss://$bucket-name/{}

如果是上传当前目录将$dirname 替换成”.” $dirname 要上传文件名称, 当然要在这个目录上层运行此命令, 可以利用grep -v 过滤掉一些无需上传的文件, 当然osscmd也有上传文件夹功能

批量上传一批文件

cat filelist | xargs -I {} osscmd put {} oss://$bucket-name/$dirname/{}

filelist 文件名列表

3、 文件Size 统计

列出不同大小文件个数

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}'  | sort | uniq -c

样例输出 1 0.00B 3 1011.50KB 1 115.23KB 1 1167.00B 1 11.96KB 1 12.08KB 3 12.84MB 1 1355.46KB 1 17.28MB 1 18.03MB 2 209.49KB

统计出OSS Bucket 文件夹不同大小级别文件个数 (B KB MB GB)

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}' | rev | cut -c 1-2 | rev | sort | uniq -c | sed 's/0B/B/g'

样例输出

  8  B
 30 KB
 10 MB

统计文件夹大小

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://" | awk '{print $3}' | sed 's/MB/*1024^2/g' | sed 's/GB/*1024^3/g' | sed 's/KB/*1024/g' | tr -d 'B'  | tr '\n' '+' | awk '{print "("$1"0)"}'  | bc

算出来的结果是字节数,转换成其他单位需自行转换,如果结果有小数请不要奇怪

3、签名

给文件夹下所有文件进行签名

osscmd listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://"  | awk '{print $4}' | xargs -I {} osscmd sign {} 2> /dev/null | grep http

4、批量删除文件

osscmd  listallobject oss://$bucket-name/$dirname 2> /dev/null | grep "oss://"  | awk '{print $4}' | xargs -I {} osscmd rm {} 

批量删除文件下下的所有文件,或者制定前缀的文件, 更多功能请见OSS的lifecycle功能 当然删除文件列表也是OK的

cat filelist | xargs -I {} osscmd rm {}

福利部分

阿里云服务器

阿里云企业级服务器限时特惠

阿里云建站 速成美站

阿里云SaaS商标注册服务

CDN爆款产品


腾讯云服务器

腾讯云境外服务器

腾讯云数据库

最近的文章

用尽每一寸GPU,阿里云cGPU容器技术白皮书重磅发布

背景云原生已经成为业内云服务的一个趋势。在云原生上支持异构计算,这个功能在标准的Docker上已经可以很好的支持了。为了进一步提高GPU的利用率、避免算力浪费,需要在单个GPU上可以运行多个容器,并且在多个容器间隔离GPU应用,这在标准的Docker上是无法做到的。为了满足这一需求,业界也做了很多探索。NVIDIA vGPU, NVIDIA MPS, 基于rCUDA的方案等,都为用户更小颗粒度的使用GPU提供了可能。近日,阿里云异构计算推出的cGPU(container GPU)容器技术,...…

流弊技能继续阅读
更早的文章

用flutter写一个抖音是什么体验?

不知不觉flutter已经诞生好几年了,在这场轰轰烈烈的跨平台革命风暴中,weex React-Native flutter 这三者算是跨平台三巨头,weex给人的感觉就是简单轻便,React-Native被人们贴上了‘笨重’的标签,开始的flutter被认为问题多,开源库少;而如今的flutter已经变得非常强大,开源库也丰富了起来,在如今的形势下,怎么能不尝试一下。其实最开始我比较好奇的是flutter插件是怎么实现和原生交互的,原来是platform-channels这玩意,通过在d...…

flutter,douyin,抖音继续阅读