# 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”即可直接运行其子命令。后续的操作都将在交互模式下进行。 在命令行中输入 BaiduPCS-Go 进入交互模式,能够看到“BaiduPCS-Go >”提示符,后续的操作都在交互模式下进行。 ### 登陆和退出 首先登陆百度账号,输入: ```sh > login ``` 之后按提示输入用户名和密码即可完成登陆。登陆后可进行文件访问,目录查看,下载等操作。完成操作后需要退出账号,命令如下: ```sh > logout ``` ## 目录/文件操作 使用如下命令可列出当前工作目录: ```sh > pwd ``` 显示当前目录下的文件列表命令如下: ```sh > ls [-asc|-desc|-time|-name|-size] ``` 如果希望显示目录树,可使用 tree 命令: ```sh > tree [dir] ``` 使用 cd 命令切换工作目录,如: ```sh # 进入某目录 > cd # 返回上一级目录 > cd .. # 返回到根目录 > cd / ``` 使用如下命令可创建目录: ```sh > mkdir ``` 使用如下命令可删除文件/目录: ```sh > rm ``` 使用 cp 命令可拷贝文件/目录: ```sh cp ``` 使用 mv 命令可移动文件/目录: ```sh mv ``` ## 下载文件/目录 使用 download 或简写的 d 命令来下载文件: ```sh > download [options] ``` 可选参数如下: | Options | Descriptions | |----------|--------------| | --test | 测试下载, 此操作不会保存文件到本地 | | --ow | overwrite, 覆盖已存在的文件 | | --status | 输出所有线程的工作状态 | | --save | 将下载的文件直接保存到当前工作目录 | | --saveto value | 将下载的文件直接保存到指定的目录 | | -x | 为文件加上执行权限, (windows系统无效) | | --share | 以分享文件的方式获取下载链接来下载 | | --locate | 以获取直链的方式来下载 | | -p value | 指定下载线程数 | 如果没有使用 --save 或 --saveto 指令指定下载目录,这下载内容保存在默认下载目录中,也就是程序所在目录的 download 目录下或系统的 Download 目录下。 还可以使用 locate 命令获取文件的下载直链: ```sh > locate ... ``` 设置下载最大并发量(建议50~500): ```sh > config set -max_parallel= ``` 设置下载缓存(载最大并发量设置为100, 下载缓存为100000,则程序需要100*100000/1024/1024 MB = 9.5367 MB): ```sh > config set -cache_size= ``` ## 上传文件/目录 使用 upload 或简写的 u 来上传文件: ```sh > upload ``` 上传同名文件将会自动覆盖。当上传的文件名和网盘的目录名称相同时,不会覆盖目录。 ## 离线下载 离线下载支持http/https/ftp/电驴/磁力链协议。离线下载同时进行的任务数量有限,超出限制的部分将无法添加。使用如下命令可添加离线任务: ```sh > offlinedl add -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 ... ``` ### 检查程序更新 使用如下指令可检查系统更新: ```sh > update ```