和龟速FTP说再见
面对冷冰冰的 Linux 服务器终端,想传几个大文件(比如数据集、模型权重)到百度网盘,还在用本地电脑下载再龟速上传到服务器?
大可不必!
今天我们用两款开源工具,高性能的 BaiduPCS-Go 和 简洁亲民的 bypy,让文件传输变得像德芙一样流畅。
选手一:BaiduPCS-Go
BaiduPCS-Go 是一款用 Go 语言编写的第三方客户端。它的特点是:速度快、功能全、无依赖(一个二进制文件走天下)。
1. 安装
不需要复杂的环境配置,下载即用。
# 下载适合你服务器架构的版本(以 Linux amd64 为例)
wget https://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v4.0.0/BaiduPCS-Go-v4.0.0-linux-amd64.zip
# 解压
unzip BaiduPCS-Go-v4.0.0-linux-amd64.zip
# 进入目录并赋予执行权限
cd BaiduPCS-Go-v4.0.0-linux-amd64
chmod +x BaiduPCS-Go
# (可选)建议添加到环境变量,方便在任何地方调用
sudo mv BaiduPCS-Go /usr/local/bin/
2.登录
登录是使用 BaiduPCS-Go 的第一道门槛,也是最容易出问题的地方。我根据自己踩过的坑准备了两套方案:
方案一:常规登录(简单直接)
如果你在普通的国内云服务器或个人电脑上,网络环境较好,首选此方法。
在电脑浏览器登录百度网盘,按下 F12 打开开发者工具,在 Application -> Cookies -> baidu.com 中找到 BDUSS 这一项,复制其对应的 Value。
在终端输入以下命令:
BaiduPCS-Go login -bduss=<你的BDUSS内容>
如果返回 百度帐号登录成功,就大功告成了。
方案二:本地复制配置文件(解决网络问题)
适用场景:服务器在学校/公司内网、海外服务器、或者登录时提示 context deadline exceeded(超时)或 lookup c.tieba.baidu.com(DNS解析失败)。
这个方案的核心逻辑是:在本地登录成功,直接把“身份证”(配置文件)寄给服务器。
步骤 1:本地生成配置文件
- Mac/Linux: ~/.config/BaiduPCS-Go/pcs_config.json
- Windows: C:\\Users\\用户名\\.config\\BaiduPCS-Go\\pcs_config.json
步骤 2:同步到服务器
在服务器上,我们直接通过命令行“空降”这个文件,避免复杂的上传操作:
# 1. 创建配置目录
mkdir -p ~/.config/BaiduPCS-Go
# 2. 直接写入内容(在 << 'EOF' 后粘贴你复制的 JSON,最后输入 EOF 结束)
cat << 'EOF' > ~/.config/BaiduPCS-Go/pcs_config.json
{
"baidu_active_uid": 2035xxxx,
"baidu_user_list": [ …你的完整配置数据… ],
"savedir": "你的下载路径",
…
}
EOF
步骤 3:服务器验证
回到服务器终端,直接输入:
BaiduPCS-Go who
你会发现服务器已经处于登录状态了!因为它直接读取了你从本地拷贝过来的合法 Session,完全绕过了服务器端可能出问题的网络验证环节。
其他常用功能指引
1. 设置下载路径
建议登录后的第一件事就是改路径,否则文件会默认下载到程序所在的目录,让你的文件夹变得一团糟:
BaiduPCS-Go config set -savedir /你的下载路径
2. 多线程加速
百度网盘的单线程速度有时并不理想。你可以开启多个并发连接来压榨带宽:
# 设置 10 线程并发下载(建议根据服务器带宽设置,不要超过 50)
BaiduPCS-Go config set -max_parallel 10
3. 批量操作
- 下载整个文件夹:BaiduPCS-Go d <文件夹名>
- 搜索文件:BaiduPCS-Go search <关键词>
- 查看当前下载进度:在交互模式下输入 dlist
建议:
如果你已经配置好了 BaiduPCS-Go,可以尝试下载一个几百兆的小文件,看是否如约出现了你的数据?
选手二:bypy
如果你是一个 Python 开发者,或者你的服务器上已经装好了 Python 环境,bypy 是一个非常轻量级且优雅的选择。它是基于百度网盘 API 实现的 Python 客户端。
1. 安装:一行命令
pip install bypy
2. 登录:极其友好的 Web 授权
bypy 的登录方式非常适合服务器环境,它利用 Token 进行验证:
bypy info
3. 使用:极简主义
注意: bypy 受限于百度 API 权限,默认只能访问网盘中的 /apps/bypy 目录。这意味着你需要把想下载的文件在网盘里移动到这个目录下。
- 查看文件列表(/apps/bypy 下):
bypy list
- 下载文件:
# 下载单个文件
bypy downfile <文件名>
# 把整个目录同步下来
bypy downdir <远程目录名>
- 上传文件:
bypy upload <本地文件> <远程文件名>
💡 小贴士 (Bonus Tips)
1. 即使断网也不怕:Zellij
为了防止 SSH 断开导致下载中断,我们需要一个“后台守护者”。Zellij 是目前最直观、功能最强大的终端复用器。
1.1 安装 Zellij
在服务器上执行以下命令进行快速安装:
# 下载预编译包
wget https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz
# 解压
tar -xvf zellij-x86_64-unknown-linux-musl.tar.gz
# 移动到系统目录
sudo mv zellij /usr/local/bin/
# 检查是否成功
zellij –version
1.2 使用 Zellij 愉快地下载
Zellij 的 UI 非常友好,底部会显示所有快捷键提示。
- 先按 Ctrl + o(进入 Session 模式)。
- 再按 d (Detach)。
- 此时即便你断开 SSH 链接,下载依然在服务器后台狂奔。
2. 并发拉满
对于 BaiduPCS-Go,如果你觉得速度不够快,可以压榨服务器性能:
BaiduPCS-Go config set -max_parallel 20 # 设置20个并发线程
3. 遇到 403 Forbidden 怎么办?
如果在下载时频繁遇到 403 错误,通常是因为账号被临时风控或 User-Agent 问题。
- PCS-Go: 尝试修改 User-Agent 为手机或者电脑。
- 通用: 休息一会,喝杯咖啡,过几个小时再试。
网硕互联帮助中心






评论前必须登录!
注册