linux服务器中玩转百度网盘(纯命令操作)BaiduPCS-Go 百度网盘工具箱

  • linux服务器中玩转百度网盘(纯命令操作)BaiduPCS-Go 百度网盘工具箱已关闭评论
  • 53 views
  • A+
所属分类:软件·服务器

BaiduPCS这个项目很早就玩上了,以前记录分享过《“百度云管家” Linux-BaiduPCS版,操作使用方法笔记》、《“百度云管家” Linux-BaiduPCS版,终端命令控制云盘文件》这个项目是用C/C++语言开发的,但是作者很久没有维护,渐渐一些功能不正常然后我就放弃了;

最近无意中在github上看见了一个BaiduPCS-Go版本(https://github.com/iikira/BaiduPCS-Go),它是在之前的那个C/C++版本的基础之上用Go语言写的,修复改良了很多问题,能够完美的运行控制百度网盘文件

 

Go语言是谷歌开发的,并发能力强是它的优点,下载网盘文件这种事自然并发能力越强越好它决定了下载速度,下面引自知乎一位大神对GO并发能力的描述:

并发性好。Goroutine 和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个 Go 应用也能有效的利用多个 CPU 核,并行执行的性能好。这和 Python 也是天壤之比。多线程和多进程的服务端程序编写起来并不简单,而且由于全局锁 GIL 的原因,多线程的 Python 程序并不能有效利用多核,只能用多进程的方式部署;如果用标准库里的 multiprocessing 包又会对监控和管理造成不少的挑战【我们用的 supervisor 管理进程,对 fork 支持不好】。部署 Python 应用的时候通常是每个 CPU 核部署一个应用,这会造成不少资源的浪费,比如假设某个 Python 应用启动后需要占用 100MB 内存,而服务器有 32 个 CPU 核,那么留一个核给系统、运行 31 个应用副本就要浪费 3GB 的内存资源。

 

言归正传,下面开启玩转BaiduPCS-Go之旅,以下操作笔记均是在Debian9系统上进行,整个过程一切顺利没有出错;

 

一、在debian上安装go lang 1.8


apt-get update
apt-get -y upgrade
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -xvf go1.8.3.linux-amd64.tar.gz
mv go /usr/local

export GOROOT=/usr/local/go
export GOPATH=$HOME/default-go-project
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

go version

二、安装git(估计大部分都装好了,直接跳过)


apt-get install  git  -y

三、获取安装BaiduPCS-Go

一条命令编译程序到 GOPATH 的 bin 目录下, 并自动获取程序所用到的依赖包


go get -u -v github.com/iikira/BaiduPCS-Go

四、使用BaiduPCS-Go方法

详细操作方法看官方文档描述:https://github.com/iikira/BaiduPCS-Go,操作基本上和linux常用命令一致只是再前面加了一个BaiduPCS-Go告诉系统你这是在控制百度网盘文件;