百度云 百度网盘 Linux Centos 命令行客户端 Baidu PCS Client For Linux

这是一个安装和配置使用的教程 程序非原创编写

主要用途是将百度提供的1000G网盘空间利用起来
因为官方未发布基于Linux系统的客户端
使用制作了这个教程 希望对大家有帮助
实现在Linux命令行下的文件上传/下载/删除/查看配额 等等功能

基于C / LibCurl / Baidu RestAPI
理论上所有Linux系统都应该支持
这里以CentOS为例子

Step 1 系统CURL检查和升级
=================================
检查系统的CURL版本
curl -V # 查看下CURL的当前版本

CentOS 5.* /6.* 自带的curl版本都是7.15.*
依赖CURL的CURLFORM_STREAM 这个是7.20+版本才新增的
需要升级下CURL版本

Centos 5 RPM源

rpm -ivh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-12.rhel5.noarch.rpm

Centos 6 RPM源

rpm -ivh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-12.rhel6.noarch.rpm

然后

yum upgrade libcurl libcurl-devel

就完成了CURL的升级

Step2 编译安装百度个人云的PCS客户端工具
=================================

cd /opt
wget -c http://blog.cnlabs.net/wp-content/uploads/2013/08/Baidu_PCS.zip
unzip Baidu_PCS.zip
cd Baidu_PCS

# 修改下 baidu_pcs.c

ID和KEY 修改为你的开发中心应用ID和密匙

make #编译下 不用make install 就一个文件

会生成一个 baidu_pcs的执行文件
这个就是客户端了
编译需要gcc 如果没unzip和gcc
直接 yum install gcc unzip make imake autoconf
安装下就好了

Step3 授权 获得 auth token
=======================================
cd /opt/
./baidu_pcs info
会提示一个授权链接 和授权码 COPY URL 后复制到浏览器打开
使用你的账户和密码登录 然后填入授权码
提示成功 就代表获得了auth token 1个月有效

Step4 配置和上传 下载测试
=======================================
现在使用 ./baidu_pcs info
可以打印出你的空间配额了
如图 可以显示使用了100多G 总共1.12T

上传测试 把apache ant 上传到百度网盘里


在去网盘看看 有没成功上传


看到了哦? 红色圈起来的就是刚刚上传的

OK了 详细的命令 见5

Step5 详细使用文档
========================================
使用方法: baidu_pcs 命令 [选项]

命令列表:

info 查看云盘信息

ls 列出远程文件或目录
选项:
-l 显示详细信息
-r 递归子目录

upload [选项] [本地路径] [远程路径] 上传文件或目录
选项:
覆盖策略
默认:略过已存在同名远程文件
-o 覆盖远程同名文件
-n 如果存在同名文件,创建以日期结尾的新文件

-p 指定上传分片大小,例如 -p100M
-l 跟随软链

download [选项] [远程路径] [本地路径] 下载文件或目录
选项:
-o 覆盖本地同名文件
-n 如果存在同名文件,创建以日期结尾的新文件
cp [远程路径] [目的远程路径] 复制远程文件或目录
mv [远程路径] [目的远程路径] 移动远程文件或目录
rm [远程路径] 删除远程文件或目录
~~~
#你可能需要知道
1. 默认文件分片尺寸为50M
2. 下载可以输出到标准输出`baidu_pcs down /apps/xxx/test.mp4 – | mplayer -cache 8192 -`
2. API使用https协议,curl初始化时设置了速度较快的rc4加密方式
3. 所有请求失败会重试5次
4. 非上传请求,5秒连接超时,20秒请求超时
5. 上传请求,5秒连接超时,文件尺寸/(10K/s)的上传超时
6. 上面你都可以自己改了重新编译。。。

点赞
  1. henry说道:
    Firefox Mac OS X 10.8
    很好,我尝试用python写一个客户端,感觉就是下载上传都是走的https 协议,楼主有没有发现如何用http下载的方式,并支持多线程下载的方法?