跳转至

BaiduPCS-Go

BaiduPCS-Go 百度网盘Linux命令行客户端

https://github.com/qjfoidnh/BaiduPCS-Go

官方文档写得比较详细,以下列出部分常用的操作。

安装

下载解压就可以,注意下载版本为 linux-amd64

$ wget https://github.com/qjfoidnh/BaiduPCS-Go/releases/download/v3.9.5/BaiduPCS-Go-v3.9.5-linux-amd64.zip
$ unzip BaiduPCS-Go-v3.9.5-linux-amd64.zip 
集群调用
$ module load BaiduPCS-Go/3.9.5 

登录

Warning

登录之后才能进行后面所有其它操作

BaiduPCS-Go 无法使用传统的账号密码或手机号验证码登录,目前建议使用BDUSS登录。

BDUSS是登录百度后的唯一身份凭证,使用BDUSS可以登录百度旗下的各类主流软件;使用BDUSS登录账号,不需要输入验证码;修改密码BDUSS值也会改变;

获取BDUSS:在浏览器登录百度云账号,按 F12,打开开发者模式, 应用程序(Application) ——> 存储(Storage) ——> Cookie ——> 查找 BDUSS

# 登录——使用BDUSS登录
$ BaiduPCS-Go login -bduss=xxxxxxx
百度帐号登录成功: yyyyyy

# 查看账户列表
$ BaiduPCS-Go loglist
  #     UID       用户名    性别  AGE   
  0  111111111    yyyyyy        15

# 查看当前登录账户
$ BaiduPCS-Go who
当前帐号 uid: 111111111, 用户名: yyyyyy, 性别: ♂, 年龄: 15

# 退出账号
$ BaiduPCS-Go logout

# 获取存储空间使用情况
$ BaiduPCS-Go quota
用户名: yyyyyy, 总空间: 4TB, 已用空间: 2TB, 比率: 50%

目录/文件操作

# 切换百度云目录
$ BaiduPCS-Go cd 测试
改变工作目录: /测试

# 切换 上级目录
$ BaiduPCS-Go cd ..

# 切换 根目录
$ BaiduPCS-Go cd /

# 使用通配符
$ BaiduPCS-Go cd /我的*

# 显示当前目录
$ BaiduPCS-Go pwd
/测试

# 创建目录
$ BaiduPCS-Go mkdir test

# 删除文件/目录
$ BaiduPCS-Go rm file1 dir1 file2 dir2

# 拷贝文件/目录
$ BaiduPCS-Go cp test.txt /测试2/test.txt

# 移动重命名文件/目录
$ BaiduPCS-Go cp test.txt /测试2/
$ BaiduPCS-Go cp test.txt test2.txt

# 查看百度云目录下文件
$ BaiduPCS-Go ls

当前目录: /测试
----
  #   文件大小         修改日期                    文件(目录)              
  0       3.90MB  2024-01-08 11:45:22  BaiduPCS-Go-v3.9.5-linux-amd64.zip  
  1     653.34MB  2024-01-08 14:09:29  ERR1739691_1.fastq.gz               
  2      51.81GB  2024-01-08 13:50:18  ERR194146_1.fastq.gz                
  3           0B  2024-01-08 11:42:16  test.txt                            
     总: 52.45GB                       文件总数: 4, 目录总数: 0            
----

# 列出树形目录
$ BaiduPCS-Go tree <目录>
搜索文件
# 按文件名搜索文件(不支持查找目录)
# 默认在当前工作目录搜索
# BaiduPCS-Go search [-path=<需要检索的目录>] [-r] <关键字>

# 搜索根目录的文件
$ BaiduPCS-Go search -path=/ 关键字

# 搜索当前工作目录的文件
$ BaiduPCS-Go search 关键字

# 递归搜索当前工作目录的文件
$ BaiduPCS-Go search -r 关键字

# 如搜索 ERR194
$ BaiduPCS-Go search -r ERR194
  #   文件大小         修改日期                        路径                   
  0      51.81GB  2024-01-10 08:47:07  /测试/ERR194146_1.fastq.gz  
     总: 51.81GB                       文件总数: 1, 目录总数: 0               
----
也可以输入 BaiduPCS-Go 命令后,进入交互模式,然后使用上面的 ls pwd cd mv rm search 等操作命令,支持 Tab 键路径补齐,与在linux命令行下操作类似。使用quitexitCtrl+q 退出交互模式。
$ BaiduPCS-Go 
提示: 方向键上下可切换历史命令.
提示: Ctrl + A / E 跳转命令  / 尾.
提示: 输入 help 获取帮助.
BaiduPCS-Go:测试 yyyyyy$ ls

当前目录: /测试
----
  #   文件大小         修改日期                    文件(目录)              
  0       3.90MB  2024-01-08 11:45:22  BaiduPCS-Go-v3.9.5-linux-amd64.zip  
  1     653.34MB  2024-01-08 14:09:29  ERR1739691_1.fastq.gz               
  2      51.81GB  2024-01-08 13:50:18  ERR194146_1.fastq.gz                
  3           0B  2024-01-08 11:42:16  test.txt                            
  4           0B  2024-01-08 15:51:03  test2.txt                           
     总: 52.45GB                       文件总数: 5, 目录总数: 0            
----
BaiduPCS-Go:测试 yyyyyy$ cd /
改变工作目录: /
BaiduPCS-Go:/ yyyyyy$ pwd
/

分享/转存文件

设置分享文件/目录

$ BaiduPCS-Go share set <文件/目录1> <文件/目录2> ...
$ BaiduPCS-Go share s <文件/目录1> <文件/目录2> ...
列出已分享文件/目录
$ BaiduPCS-Go share list
$ BaiduPCS-Go share l

取消分享文件/目录

$ BaiduPCS-Go share cancel <shareid_1> <shareid_2> ...
$ BaiduPCS-Go share c <shareid_1> <shareid_2> ...
转存文件/目录
# 转存分享链接里的文件到当前目录
# 注意: 转存文件保存到当前工作目录下, 不支持指定.
$ BaiduPCS-Go transfer <分享链接> <提取码>
$ BaiduPCS-Go transfer <秒传链接>

# 将 https://pan.baidu.com/s/12L_ZZVNxz5f_2CccoyyVrW (提取码edv4) 转存到当前目录
$ BaiduPCS-Go transfer https://pan.baidu.com/s/12L_ZZVNxz5f_2CccoyyVrW edv4
$ BaiduPCS-Go transfer https://pan.baidu.com/s/12L_ZZVNxz5f_2CccoyyVrW?pwd=edv4

下载

Warning

别人分享的文件需转存到自己的账号下才能下载

# 从百度云下载文件到服务器指定路径
# BaiduPCS-Go d <百度网盘需要下载的文件/目录> --saveto <服务器目的目录>
$ BaiduPCS-Go d ERR1739691_1.fastq.gz --saveto .

[0] 提示: 当前下载最大并发量为: 1, 下载缓存为: 65536
[1] 加入下载队列: /测试/ERR1739691_1.fastq.gz

[1] ----
  类型              文件                              
  文件路径          /测试/ERR1739691_1.fastq.gz       
  文件名称          ERR1739691_1.fastq.gz             
  文件大小          685080567, 653.343741MB           
  md5 (可能不正确)  7a6eff36ff0b636f75a84b69fcd00a4a  
  app_id            266719                            
  fs_id             643496830425886                   
  创建日期          2024-01-08 14:09:29               
  修改日期          2024-01-08 14:09:29               

[1] 准备下载: /测试/ERR1739691_1.fastq.gz
[1] 将会下载到路径: ERR1739691_1.fastq.gz

[1]  653.34MB/653.34MB 355.26KB/s in 2h23m56s, left 0s .................
[1] 下载完成, 保存位置: ERR1739691_1.fastq.gz
[1] 跳过文件有效性检验

下载结束, 时间: 2h23m56.639s, 数据总量: 653.343741MB
下载相关选项:
  • --test 测试下载, 此操作不会保存文件到本地
  • --ow overwrite, 覆盖已存在的文件
  • --status 输出所有线程的工作状态
  • --save 将下载的文件直接保存到当前工作目录
  • --saveto value 将下载的文件直接保存到指定的目录
  • -x 为文件加上执行权限, (windows系统无效)
  • --mode value 下载模式, 可选值: pcs, stream, locate, 默认为 locate, 相关说明见上面的帮助 (default: "locate")
  • -p value 指定下载线程数 (default: 0)
  • -l value 指定同时进行下载文件的数量 (default: 0)
  • --retry value 下载失败最大重试次数 (default: 3)
  • --nocheck 下载文件完成后不校验文件
  • --mtime 将本地文件的修改时间设置为服务器上的修改时间
  • --dindex value 使用备选下载链接中的第几个,默认第一个 (default: 0)
  • --fullpath 以网盘完整路径保存到本地

上传

$ BaiduPCS-Go u ERR1739691_1.fastq.gz .

[0] 提示: 当前上传单个文件最大并发量为: 4, 最大同时上传文件数为: 4
[1] 加入上传队列: /home/user/data/ERR1739691_1.fastq.gz
[1] 准备上传: /home/user/data/ERR1739691_1.fastq.gz
[1] 检测秒传中, 请稍候...
[1] 秒传失败, 开始上传文件...

[1]  639.25MB/653.34MB 7.27MB/s in 1m24s ............
[1] 上传文件成功, 保存到网盘路径: /测试/ERR1739691_1.fastq.gz

上传结束, 时间: 1m28.768s, 总大小: 653.343741MB
上传相关选项:
  • -p value 指定单个文件上传的最大线程数 (default: 0)
  • --retry value 上传失败最大重试次数 (default: 3)
  • -l value 指定同时上传的最大文件数 (default: 0)
  • --norapid 不检测秒传
  • --nosplit 禁用分片上传
  • --policy value 对同名文件的处理策略
本文阅读量  次
本站总访问量  次