百度网盘命令行管理:BaiduPCS-Go 5分钟速通指南
【免费下载链接】BaiduPCS-Goiikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go
BaiduPCS-Go 是一个在 iikira 原版基础上集成分享链接转存的百度网盘命令行管理客户端。你用 shell 命令即可完成登录、列目录、转存、上传下载,不离开终端完成网盘操作。
它帮你解决什么
GUI 时代最磨人的三件事,命令行一次解决:
- 一个分享链接要手动点 3 次界面才能转存
- 批量下载整目录、定时备份,鼠标点不动也写不了脚本
- 多账号要在网页和客户端之间反复重新登录
📦 从零跑通:BaiduPCS-Go 最小安装路径
这一步 5 分钟搞定。仓库提供 Go 源码,也提供常用平台的预编译二进制,按需二选一。
git clone https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go cd BaiduPCS-Go go build -o BaiduPCS-Go ./BaiduPCS-Go login -cookies="BAIDUID=xxx; BDUSS=xxx; STOKEN=xxx"Cookies 从浏览器开发者工具里打开百度网盘网页后复制,其中 STOKEN 必须在网盘页面获取。
⚡ 高频命令速查
这 12 条命令覆盖日常 90% 的操作。
| 命令 | 作用 | 备注 |
|---|---|---|
BaiduPCS-Go login -cookies="..." | Cookies 登录 | STOKEN 需来自网盘页面 |
BaiduPCS-Go su | 切换已登录账号 | 交互选择,也可su <uid> |
BaiduPCS-Go ls /我的资源 | 列出目录内容 | 支持通配符与 Tab 补全 |
BaiduPCS-Go cd /视频 | 切换网盘工作目录 | ..回上级,/回根目录 |
BaiduPCS-Go search -r 关键字 | 递归搜索文件 | -path=/可搜全盘 |
BaiduPCS-Go download /我的资源/a.mp4 | 下载文件或整目录 | 默认存到程序目录的download/ |
BaiduPCS-Go upload ./a.mp4 /视频 | 上传到网盘 | 单文件最大支持 128G |
BaiduPCS-Go transfer https://pan.baidu.com/s/xxxx 提取码 | 分享链接转存 | 支持?pwd=与口令格式 |
BaiduPCS-Go mkdir 备份 | 创建目录 | 同名不覆盖 |
BaiduPCS-Go rm /a.mp4 /b.mp4 | 删除到回收站 | 任一不存在则整批失败 |
BaiduPCS-Go share set /a.mp4 | 生成分享链接 | -f输出带密码链接 |
BaiduPCS-Go config/config set | 查看/修改配置 | 参数见下文 |
🧭 三个真实工作流:分享链接转存与批量上传
三个场景都是日常高频操作,命令直接抄。
场景一:每日自动备份——把本地工作文档按日期归档到网盘。
#!/bin/bash # 每日备份:文档目录整体上传到网盘带日期目录 BaiduPCS-Go upload "$HOME/Documents" "/备份/文档/$(date +%Y%m%d)" echo "备份完成: $(date)"效果:挂上 cron 后每天一份带日期的文档快照,误删可从历史日期找回。
场景二:批量转存资源——手上一串课程分享链接要全部收进网盘。
BaiduPCS-Go transfer "https://pan.baidu.com/s/1xxxx" abc1 BaiduPCS-Go transfer "https://pan.baidu.com/s/1yyyy?pwd=wxyz" BaiduPCS-Go ls /我的资源/转存效果:带密码、不带密码、口令三种格式的链接都能直接转存,无需逐个点网页。
场景三:网盘整理瘦身——清理重复文件前先做保底。
BaiduPCS-Go search -path=/ -r "重复" BaiduPCS-Go cp "/我的资源/a.zip" "/备份/a.zip" BaiduPCS-Go rm "/我的资源/a.zip"效果:先复制再删除,原目录清空后文件仍在回收站可还原,误操作有后路。
🚀 调优提速:按账号类型给出参数建议
参数按账号类型分开调,普通账号乱调线程只会触发限速。
| 参数 | 普通账号 | SVIP 账号 |
|---|---|---|
max_parallel | 1 | 10-20 |
max_download_load | 1 | 1-2 |
cache_size | 64MB | 128MB |
upload_policy | skip | rsync |
常用配置命令(4 行以内按需取用):
BaiduPCS-Go config set -max_parallel 15 -max_download_load 2(SVIP)BaiduPCS-Go config set -savedir D:/DownloadsBaiduPCS-Go config set -pcs_addr c.pcs.baidu.comBaiduPCS-Go config(确认当前值)
🔧 踩坑与排障
这 5 个问题按「现象 → 原因 → 解法」直接对号入座。
现象:登录报 STOKEN 缺失或无效原因:STOKEN 必须取自百度网盘页面,若值里没有大写字母,多半拿成了 bdstoken解法:重新从网盘页面复制 STOKEN,或改用login -cookies方式登录
现象:普通账号下载几分钟后速度降到接近 0原因:max_parallel调太高,触发百度限速机制,影响数小时至数天解法:config set -max_parallel 1 -max_download_load 1,SVIP 才调 10-20
现象:上传报错或长时间卡住原因:上传接口服务器地址不可达解法:config set -pcs_addr c.pcs.baidu.com换地址,或开启fix_pcs_addr固定静态服务器
现象:下载时已存在的同名文件没被覆盖原因:同名文件默认自动跳过解法:download 加--ow参数覆盖,或把savedir指向新目录
现象:一次删除多个文件时整批操作失败原因:列表中任一路径不存在,整个删除操作即失败解法:先ls核对全部路径存在,或拆成单条rm逐个删
源码导读与二次开发
从命令入口入手,二次开发最容易上手。
- 登录命令:处理 Cookies、BDUSS+STOKEN 三种登录方式与账号持久化
- 文件操作核心:实现 ls、cd、rm 等 shell 风格文件操作
- 转存模块:解析带密码/口令的分享链接并调用转存接口
- 下载引擎:多线程下载、断点续传与并发控制
扩展示例:在 main 中注册一个自定义命令(基于 urfave/cli):
app.Commands = append(app.Commands, cli.Command{ Name: "mydu", Usage: "统计网盘目录占用", Action: func(c *cli.Context) error { u := pcscommand.GetActiveUser() fmt.Println("当前账号:", u.UID) // 再调 baidupcs 包接口取目录列表 return nil }, })使用边界
三条红线,用前先读:
- Cookies 不留在公共环境
- 普通账号别调大下载线程
- 重要数据双份:本地+网盘
现在就登录你的账号,跑一遍BaiduPCS-Go ls /看看根目录,选一个想备份的目录执行第一次 upload。
【免费下载链接】BaiduPCS-Goiikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考