bypy:使用Linux命令行上传及下载百度云盘文件(远程服务器大文件传输必备)

诸神缄默不语-个人CSDN博文目录

由于众所周知的原因,国内不方便上谷歌云盘,所以很多开源项目的大数据集、预训练模型等也会同时提供百度网盘形式存储的下载链接。
因为百度网盘本身Linux系统只提供了UI端,所以远程服务器的话就很难搞了,谁用远程服务器还会开UI啊……
而这些文件动辄1-2G,我又不想下到本地,就想直接将这些文件转存到自己的网盘后,在服务器上直接下载。
我现在找到的最好解决方式就是Python包bypy:houtianze/bypy: Python client for Baidu Yun (Personal Cloud Storage) 百度云/百度网盘Python客户端
可以通过pip直接下载,授权本人的百度云账号后,就可以直接使Linux电脑本地文件与百度网盘的apps(我的应用数据)/bypy目录下的文件进行上传与下载的交互了。
本文简单介绍其相关的使用方式,仅限于命令行使用。在Python程序中的调用请另行查阅。

顺带一提用bypy不会限速,所以……

文章目录

  • 1. 安装与授权
  • 2. 查看百度网盘目录下的文件、上传与下载文件
  • 3. 查阅文档
  • 4. 其他正文中未提及的参考资料

1. 安装与授权

可以直接通过pip下载:pip install bypy

第一次使用时需要随便输入一个命令以激活授权界面,如输入 bypy info
(注意:如果您不在虚拟环境下,需要使用 python -m bypy info,后续所有命令类似,前加 python -m 即可;如果python指令不在您的路径下,那么原则上我建议您将其加入路径,如果您不想加,就直接将上述指令中的python更换成您使用的python解释器位置即可)
(对于不在虚拟环境下的场景,如果嫌命令太长,可以设置别名:alias bypy='python -m bypy';如在~/.bash_aliases中添加该命令,可以实现每次进终端后自动重命名)
终端会输出一个网址,在浏览器打开后,点击如图所示的复制授权码:
bypy:使用Linux命令行上传及下载百度云盘文件(远程服务器大文件传输必备)_第1张图片
将复制的内容粘贴到终端后回车,等待即可。

另:需要把系统的区域编码设置为UTF-8(我的服务器默认就是,所有我没有经历这一步)。可参考:article | How to set up a clean UTF-8 environment in Linux

似乎可以通过删除.bypy文件夹来删除授权内容,我还没试过。据我观察应该是只要有这个文件夹就不用重新授权

2. 查看百度网盘目录下的文件、上传与下载文件

常用命令:

  1. bypy list [子目录] 显示文件,默认显示百度网盘 /apps(就是“我的应用数据”)/bypy 目录下的所有文件。
    输出示例:
user@HOST:~$ bypy list
/apps/bypy ($t $f $s $m $d):
D foo 0 2019-08-06, 23:08:15
F cn_windows_10_consumer_editions_version_1903_updated_aug_2019_x64_dvd_4c9cbf0b.iso 5306406912 2019-09-12, 19:31:11 7722dbe0ccebebe215fb8f0646450079
F win10-64bit-radeon-software-adrenalin-2019-edition-19.9.1-sep10.exe 435216696 2019-09-12, 21:08:51 cba1369bde139fffea4a3f5fef4c60c5
  1. bypy upload [localpath] [remotepath] [ondup]bypy syncup [localdir] [remotedir] [deleteremote] 上传文件到百度网盘(上传文件会检查文件校验,如果文件是百度已经收录过的,那么就可以做到秒传)
  2. bypy downfile [localpath] 从百度网盘下载单个文件
  3. bypy downdir [remotedir] [localdir] 从百度网盘下载整个文件夹

可以用第三方下载器aria2加速:
aria2官网:https://aria2.github.io/
bypy --downloader aria2 download cn_windows_10_consumer_editions_version_1903_updated_aug_2019_x64_dvd_4c9cbf0b.iso

3. 查阅文档

  1. 可以直接使用命令 bypy help 来查询一个命令的具体使用方式。
  2. 使用 bypybypy helpbypy -h 直接查询所有命令。

4. 其他正文中未提及的参考资料

  1. bypy-命令行下使用百度网盘 - 知乎
  2. 『 百度网盘下载之bypy』 有槽必吐 - 不吐槽,毋宁死:这篇里面还讲了一些我用不到的功能,那些我就没写了

你可能感兴趣的:(编程学习笔记,服务器,linux,bypy,Python,command)