2019-07-11 15:54:55 +08:00
|
|
|
|
# BaiduPCS-Go_的部署和使用
|
|
|
|
|
|
|
|
|
|
BaiduPCS-Go 是一款基于 Go 语言开发的百度网盘客户端,其操作基于命令行来完成。兼容 Windows、Linux 和 Android 系统,可运行在 x86 或 ARM 平台上。
|
|
|
|
|
|
|
|
|
|
由于是命令行操作,因此可以通过远程 SSH 访问来使用。国内某知名下载工具没有 Linu 版本,所以将 BaiduPCS-Go 部署到家中 Linux 服务器后,再结合 Baidu 的离线下载功能就可以将 Linux 服务器改造成挂机下载利器。集合花生壳或蒲公英等工具就可以进行远程 SSH 链接,通过手机控制服务器下载。
|
|
|
|
|
|
|
|
|
|
## BaiduPCS-Go 的部署
|
|
|
|
|
|
|
|
|
|
到 Github 上搜索 BaiduPCS-Go,进入项目后点 Releases,可以找到最新发布版的下载链接,需要区分 x86 还是 ARM 平台,以及你所使用的操作系统。这里以 x86 Linux 为例进行说明。
|
|
|
|
|
|
|
|
|
|
下载 BaiduPCS-Go-v3.5.6-linux-amd64.zip 后进行解压,找到其中的 BaiduPCS-Go 文件,将其拷贝到 /usr/bin 目录下即可。如果是 Windows 系统,则可以将 BaiduPCS-Go 放到某路径下,然后将该路径添加到系统 PATH 中。
|
|
|
|
|
|
|
|
|
|
进入命令行,输入 BaiduPCS-Go 回车,如果部署正确,将看到“BaiduPCS-Go >”这样字样的命令行提示符。
|
|
|
|
|
|
|
|
|
|
## BaiduPCS-Go 的基本使用
|
|
|
|
|
|
|
|
|
|
BaiduPCS-Go 有两种工作模式:命令行模式和交互模式。如果未带任何参数运行程序,程序将会进入仿 Linux shell 系统用户界面的 cli 交互模式,命令行前端有“BaiduPCS-Go >”这样字样的命令行提示符,在该模式下不需要输入“BaiduPCS-Go”即可直接运行其子命令。后续的操作都将在交互模式下进行。
|
|
|
|
|
|
2019-07-16 18:12:02 +08:00
|
|
|
|
在命令行中输入 BaiduPCS-Go 进入交互模式,能够看到“BaiduPCS-Go >”提示符,后续的操作都在交互模式下进行。
|
2019-07-11 15:54:55 +08:00
|
|
|
|
|
2019-07-16 18:12:02 +08:00
|
|
|
|
### 登陆和退出
|
|
|
|
|
|
|
|
|
|
首先登陆百度账号,输入:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> login
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
之后按提示输入用户名和密码即可完成登陆。登陆后可进行文件访问,目录查看,下载等操作。完成操作后需要退出账号,命令如下:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> logout
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 目录/文件操作
|
|
|
|
|
|
|
|
|
|
使用如下命令可列出当前工作目录:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> pwd
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
显示当前目录下的文件列表命令如下:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> ls [-asc|-desc|-time|-name|-size]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
如果希望显示目录树,可使用 tree 命令:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> tree [dir]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用 cd 命令切换工作目录,如:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 进入某目录
|
|
|
|
|
> cd <dir>
|
|
|
|
|
# 返回上一级目录
|
|
|
|
|
> cd ..
|
|
|
|
|
# 返回到根目录
|
|
|
|
|
> cd /
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用如下命令可创建目录:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> mkdir <name>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用如下命令可删除文件/目录:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> rm <file/dir>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用 cp 命令可拷贝文件/目录:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
cp <from> <to>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用 mv 命令可移动文件/目录:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
mv <from> <to>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 下载文件/目录
|
|
|
|
|
|
|
|
|
|
使用 download 或简写的 d 命令来下载文件:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> download <file/dir> [options]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
可选参数如下:
|
|
|
|
|
|
|
|
|
|
| Options | Description |
|
|
|
|
|
|----------|-------------|
|
|
|
|
|
| --test | 测试下载, 此操作不会保存文件到本地 |
|
|
|
|
|
| --ow | overwrite, 覆盖已存在的文件 |
|
|
|
|
|
| --status | 输出所有线程的工作状态 |
|
|
|
|
|
| --save | 将下载的文件直接保存到当前工作目录 |
|
|
|
|
|
| --saveto value | 将下载的文件直接保存到指定的目录 |
|
|
|
|
|
| -x | 为文件加上执行权限, (windows系统无效) |
|
|
|
|
|
| --share | 以分享文件的方式获取下载链接来下载 |
|
|
|
|
|
| --locate | 以获取直链的方式来下载 |
|
|
|
|
|
| -p value | 指定下载线程数 |
|
|
|
|
|
|
2019-07-16 18:15:30 +08:00
|
|
|
|
如果没有使用 --save 或 --saveto 指令指定下载目录,这下载内容保存在默认下载目录中,也就是程序所在目录的 download 目录下或系统的 Download 目录下。
|
|
|
|
|
|
2019-07-16 18:12:02 +08:00
|
|
|
|
还可以使用 locate 命令获取文件的下载直链:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> locate <file1> <file2> ...
|
|
|
|
|
```
|
|
|
|
|
|
2019-07-17 17:16:39 +08:00
|
|
|
|
设置下载最大并发量(建议50~500):
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> config set -max_parallel=<max_parallel>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
设置下载缓存(载最大并发量设置为100, 下载缓存为100000,则程序需要100*100000/1024/1024 MB = 9.5367 MB):
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> config set -cache_size=<cache_size>
|
|
|
|
|
```
|
|
|
|
|
|
2019-07-16 18:12:02 +08:00
|
|
|
|
## 上传文件/目录
|
|
|
|
|
|
|
|
|
|
使用 upload 或简写的 u 来上传文件:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> upload <locale fiel/dir> <file/dir>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
上传同名文件将会自动覆盖。当上传的文件名和网盘的目录名称相同时,不会覆盖目录。
|
|
|
|
|
|
|
|
|
|
## 离线下载
|
|
|
|
|
|
|
|
|
|
离线下载支持http/https/ftp/电驴/磁力链协议。离线下载同时进行的任务数量有限,超出限制的部分将无法添加。使用如下命令可添加离线任务:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> offlinedl add -path=<path> src1 src2 ...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用如下命令可查询离线任务:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> offlinedl list
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
以上命令能够获得离线任务的 TaskID,可根据 TaskID 查询任务更详细的信息:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> offlinedl query taskID1 taskID2 ...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用 offlinedl cancel 可取消离线任务:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> offlinedl cancel taskID1 taskID2 ...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
使用 offlinedl delete 可删除离线任务:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
> offlinedl delete taskID1 taskID2 ...
|
|
|
|
|
```
|
2019-07-11 15:54:55 +08:00
|
|
|
|
|
|
|
|
|
### 检查程序更新
|
|
|
|
|
|
|
|
|
|
使用如下指令可检查系统更新:
|
|
|
|
|
|
|
|
|
|
```sh
|
2019-07-16 18:12:02 +08:00
|
|
|
|
> update
|
2019-07-11 15:54:55 +08:00
|
|
|
|
```
|