BOS CLI的基本使用一
小****子 · 小****子 发布于2015-09-25 10:29 浏览:3133 回复:6

BOS CLI 的安装

   BOS CLI是什么? 为了方便用户使用百度的对象存储,百度开放云提供了一款可以通过命令行工具调用bos服务的小工具,对于很多linux的爱好者来说,这个小工具堪称使用bos的利器。 BOS CLI能做什么?它可以让你在命令行环境下,完成bucket的创建和删除,object的上传,下载以及删除拷贝的功能。下面我们来看一下如何安装?

   安装可以参考官方的文档: http://bce.baidu.com/doc/BOS/BOSCLI.html#.E5.AE.89.E8.A3.85BCE.20CLI 具体安装还是很简单的,但前提是一定必须要先安装bce python sdk,且bce python sdk的版本必须是0.8.4及以上。 在安装bce-cli的时候,经常遇到的一个问题,如下图所示:

 

  这是由于在系统python的安装包里没有setuptools这个模块。 如果是linux的系统,可以直接运行命令:apt-get install python-setuptools(ubuntu)或者 yum install python-setuptools。 如果是windows的系统,需要download 这个:https://bootstrap.pypa.io/get-pip.py,然后执行:python.exe get-pip.py。

  安装完成之后,运行bce(在windows下需要运行python bce),如果出现下面的提示,就表示安装成功:

 

 BOS CLI的使用

  我觉得广大朋友来说,如果你对linux命令很熟,CLI工具最方便的就是,能够直接编写shell来实现批量下载object到本地,到远程;批量删除object。(这里官方文档居然没给出一些sample,真是非常可惜) 假设我们已经通过bce -c 设置好了AK,SK等等信息,这里就不说怎么设置了,具体可以参考官方文档。

1. 批量删除bucket下面的object

创建一个名称叫testdelobj.sh的文件:

 #!/bin/bash

#将bos的bucket作为第一个参数传进来
bce bos ls -r "bos:/"$1 >results

#得到要删除的object的个数
LEN=`awk '{print NR}' results |tail -n1`
echo "##There will be " $LEN " objects will delete from BOS server.##"
echo "You have 10 seconds to interrupt..."
sleep 10

for object in `awk '{print $4}' results`; do
      bce bos rm -y bos:/$1/$object
done

  然后将testdelobj.sh的权限改成可执行,chmod 777 testdelobj.sh 运行 ./testdelobj.sh xdtest,就可以批量删除BOS上的文件了(xdtest是我BOS服务的一个bucket)。 不过有个问题,如果是通过控制台创建的文件夹,再在文件夹里存有文件,我运行上面的脚本并不会完全删除所有内容。会留有一个空的节点在控制台上。这是为什么呢? 其实是这样的:如果通过控制台创建的文件夹A,会在bos服务器端存放一个字节为0的A/ ,但是通过命令行创建的以及通过sdk上传的模拟的文件夹,在服务器端不会存放这个。


点赞  ( 0 )
收藏
评论(6)
共6条回复 最后由乐****小回复于2019-09-03 01:07
#2聊****技回复于2015-09-25 12:27:43

赞分享。不过图看不见啊。

0
#3小****子回复于2015-09-25 14:12:19
#2 聊****技回复
赞分享。不过图看不见啊。

额,现在能看到吗?

0
#4尚****坤回复于2015-09-25 15:47:24
#2 聊****技回复
赞分享。不过图看不见啊。

现在是能看到。。。

0
#5C****e回复于2015-09-25 15:47:38

赞,感谢楼主分享,学习了。

0
#6D****d回复于2015-09-25 15:50:23

好文,版主呢? 给人加精啊。

0
#2乐****小回复于2019-09-03 01:07:26
该评论已删除
TOP