在深度学习、计算机视觉等科研工作中,很多数据集、模型权重以及项目资源都会通过百度网盘进行分享。然而,对于 Linux 服务器来说,由于没有官方客户端,很多人只能通过浏览器下载,不仅操作繁琐,而且容易出现下载中断、无法后台运行等问题。
针对这些痛点,BaiduPCS-Go 提供了一种更加高效的解决方案。本文将从工具介绍、安装配置到实际下载操作,详细介绍 BaiduPCS-Go 的使用方法,帮助大家快速掌握这一命令行工具。
一、什么是 BaiduPCS-Go?
BaiduPCS-Go 是一款基于 Go 语言开发的第三方百度网盘命令行客户端,它通过百度网盘开放接口(PCS)提供文件管理功能,可以直接在终端中完成登录、浏览网盘、下载、上传等操作。
与官方客户端相比,它最大的特点就是支持 Linux,非常适合部署在远程服务器、GPU 工作站以及云服务器上使用。
BaiduPCS-Go 具有以下优势:
- 支持 Linux、Windows、macOS 等多个平台;
- 支持 SSH 远程服务器,无需图形界面;
- 支持浏览、上传、下载百度网盘文件;
- 支持下载整个目录;
- 支持多线程下载;
- 支持指定下载目录;
- 支持命令行自动化,便于脚本调用;
- 支持后台运行,非常适合下载大型数据集。
需要注意: BaiduPCS-Go 是一个命令行客户端,它能够提供更加方便的下载方式,但并不能突破百度网盘官方的下载限速策略,下载速度仍然受到账号类型及官方策略的限制。
二、安装 BaiduPCS-Go
2.1 下载程序
目前推荐使用 BaiduPCS-Go v4.x 加强版。
根据自己的操作系统下载对应版本,例如:
- Windows
- Linux x86_64
- macOS
下载完成后,将压缩包解压即可。
例如 Linux:
bash
unzip BaiduPCS-Go-linux-amd64.zip
随后赋予程序执行权限:
bash
chmod +x BaiduPCS-Go
验证是否安装成功:
bash
./BaiduPCS-Go --version
如果输出类似:
text
BaiduPCS-Go v4.0.1
则说明安装成功。
2.2 配置环境变量(推荐)
如果每次都输入程序完整路径,会比较麻烦。
可以将 BaiduPCS-Go 所在目录加入环境变量,例如:
bash
export PATH=/path/to/BaiduPCS-Go:$PATH
为了永久生效,可写入:
bash
~/.bashrc
或者:
bash
~/.zshrc
然后执行:
bash
source ~/.bashrc
之后即可直接输入:
bash
BaiduPCS-Go
无需再输入完整路径。
三、登录百度网盘
首次使用需要登录百度网盘账号。
执行:
bash
BaiduPCS-Go login
根据提示完成登录即可。
登录成功后,可以查看当前登录账号:
bash
BaiduPCS-Go who
如果能够显示账号信息,则说明登录成功。
四、浏览百度网盘文件
登录成功后,可以浏览自己的网盘。
查看根目录:
bash
BaiduPCS-Go ls /
查看某个目录:
bash
BaiduPCS-Go ls "/我的资源"
如果不知道文件放在哪里,可以逐级查看目录,例如:
bash
BaiduPCS-Go ls "/datasets"
再继续:
bash
BaiduPCS-Go ls "/datasets/HM3D"
这样即可找到需要下载文件的完整网盘路径。
五、设置默认下载目录
如果经常下载文件,建议先设置默认下载目录。
例如:
bash
BaiduPCS-Go config set -savedir "/your/download/path"
以后下载文件时,如果没有指定保存路径,就会自动下载到该目录。
查看当前配置:
bash
BaiduPCS-Go config
六、下载百度网盘文件
下载单个文件
最简单的下载方式:
bash
BaiduPCS-Go d "/网盘路径/文件.tar"
例如:
bash
BaiduPCS-Go d "/datasets/HM3D/hm3d-minival-glb-v0.2.tar"
下载到指定目录
如果希望保存到指定位置,可以使用:
bash
BaiduPCS-Go d \
--saveto "/your/download/path" \
"/datasets/HM3D/hm3d-minival-glb-v0.2.tar"
下载完成后,文件将保存在指定目录。
下载整个目录
不仅可以下载单个文件,还可以下载整个目录。
例如:
bash
BaiduPCS-Go d \
--saveto "/your/download/path" \
"/datasets/HM3D"
程序会自动递归下载整个目录中的所有文件。
七、下载别人分享的百度网盘资源
很多开源项目提供的是百度网盘分享链接,而不是网盘中的文件路径。
推荐的下载流程如下:
第一步:登录自己的百度网盘账号
bash
BaiduPCS-Go login
第二步:将分享链接中的资源保存到自己的百度网盘。
第三步:查看资源保存后的路径
bash
BaiduPCS-Go ls /
第四步:下载保存后的文件
bash
BaiduPCS-Go d "/保存后的网盘路径/文件名"
这种方式比浏览器下载更加稳定,也更适合 Linux 服务器。
八、常用下载参数
实际下载过程中,下面几个参数非常常用。
1. 指定保存目录
bash
--saveto "/your/download/path"
例如:
bash
BaiduPCS-Go d \
--saveto "/your/download/path" \
"/datasets/file.tar"
2. 覆盖已有文件
如果本地已经存在同名文件,可以直接覆盖:
bash
--ow
例如:
bash
BaiduPCS-Go d --ow "/datasets/file.tar"
3. 多线程下载
提高下载效率:
bash
-p 16
例如:
bash
BaiduPCS-Go d -p 16 "/datasets/file.tar"
线程数可以根据网络环境自行调整,例如:
-p 4-p 8-p 16
4. 指定下载模式
默认情况下使用 locate 下载模式。
如果下载时报错:
text
user is not authorized
可以切换为 PCS 模式:
bash
--mode pcs
例如:
bash
BaiduPCS-Go d \
--mode pcs \
"/datasets/file.tar"
5. 综合示例
实际项目中,经常会组合多个参数:
bash
BaiduPCS-Go d \
--ow \
-p 16 \
--mode pcs \
--saveto "/your/download/path" \
"/datasets/HM3D/hm3d-minival-glb-v0.2.tar"
该命令表示:
- 使用 16 个线程下载;
- 覆盖已有文件;
- 使用 PCS 下载模式;
- 保存到指定目录。
九、常用命令汇总
| 功能 | 命令 |
|---|---|
| 登录百度网盘 | BaiduPCS-Go login |
| 查看当前账号 | BaiduPCS-Go who |
| 查看配置 | BaiduPCS-Go config |
| 设置默认下载目录 | BaiduPCS-Go config set -savedir |
| 浏览网盘目录 | BaiduPCS-Go ls |
| 下载文件 | BaiduPCS-Go d |
| 上传文件 | BaiduPCS-Go upload |
| 查看帮助 | BaiduPCS-Go help |
| 查看版本 | BaiduPCS-Go --version |
十、常见问题
1. 提示 user is not authorized
尝试切换下载模式:
bash
BaiduPCS-Go d --mode pcs "/datasets/file.tar"
2. 文件已存在
使用:
bash
--ow
即可覆盖已有文件。
3. 下载速度较慢
BaiduPCS-Go 本身不会突破百度网盘官方限速。
建议:
- 提高线程数;
- 使用稳定网络;
- 尽量使用会员账号下载大型文件。
4. Linux 服务器后台下载
推荐结合 screen 或 tmux:
bash
screen -S download
随后执行下载命令。
即使 SSH 连接断开,下载任务仍会继续运行。
总结
对于经常在 Linux 服务器上下载百度网盘资源的用户来说,BaiduPCS-Go 是一款非常实用的命令行工具。它支持登录百度网盘、浏览文件、下载单个文件或整个目录,并提供多线程下载、指定保存目录等丰富功能,能够很好地满足科研开发和服务器运维场景的需求。
虽然 BaiduPCS-Go 无法突破百度网盘官方的下载限速策略,但相比浏览器下载,它在自动化、稳定性以及服务器适配方面具有明显优势。如果你经常需要下载大型数据集、模型权重或项目资源,建议将其作为 Linux 环境中的常用工具之一。