百度网盘Linux命令行版,上传和下载文件。支持Ubuntu等系统
Linux版 百度网盘使用方法
本文主要的目的就是在Linux环境下通过命令行来使用百度云盘直接在服务器上将数据(比如基因组等大文件)传输到百度网盘,之后可以进行轻松分享,而且还可以支持备份,解决文件的传输和分享难题。
软件简介
bypy是一个Python客户端,用于操作百度网盘,提供了丰富的命令行操作。该工具能够直接在Linux服务器上进行大文件的传输,支持多线程操作,本文将介绍如何使用bypy进行百度云的上传、下载、同步等操作。
安装
pip install bypy
命令
bypy提供了多种操作命令,具体如下:
quota
:显示百度云存储配额信息list
:列出指定目录下的文件列表upload
:上传本地文件到百度云download
:从百度云下载文件到本地syncup
:将本地文件同步到百度云syncdown
:将百度云文件同步到本地delete
:删除百度云上的文件makedir
:在百度云上创建目录move
:移动百度云上的文件copy
:复制百度云上的文件compare
:比较本地和云文件的差异
如果运行报错
bypy --help
Traceback (most recent call last):
File "/home/eyeglasses/.local/bin/bypy", line 5, in <module>
from bypy.bypy import main
File "/home/eyeglasses/.local/lib/python3.9/site-packages/bypy/__init__.py", line 12, in <module>
from .bypy import ByPy
File "/home/eyeglasses/.local/lib/python3.9/site-packages/bypy/bypy.py", line 91, in <module>
from .requester import RequestsRequester
File "/home/eyeglasses/.local/lib/python3.9/site-packages/bypy/requester.py", line 16, in <module>
import requests
File "/home/eyeglasses/.local/lib/python3.9/site-packages/requests/__init__.py", line 43, in <module>
import urllib3
File "/home/eyeglasses/.local/lib/python3.9/site-packages/urllib3/__init__.py", line 41, in <module>
raise ImportError(
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168
则是因为 urllib3 v2.0支持openssl 1.1.1以上版本,而我们的openssl是1.0.2版本。
只有把urllib3的版本降为v1.26版本。
pip install urllib3==1.26.6
安装后能正常运行bypy。
调试
- 运行时添加-v参数,会显示进度详情
- 运行时添加-d,会显示一些调试信息
- 运行时添加-ddd,显示HTTP通讯信息
使用示例
登录配置
(test) [user @ cloud 20:17:08 /mnt/data/]
$ bypy info
Please visit:
https://openapi.baidu.com/oauth/2.0/authorize?client_id=q8W
And authorize this app
Paste the Authorization Code here within 10 minutes.
Press [Enter] when you are done
c5c3085d143f880df0727d3f
Authorizing, please be patient, it may take upto 300 seconds...
Quota: 10.010TB
Used: 1.332TB
登录验证后会显示当前剩余储存空间和已用空间,比如我这里大概10TB左右。
主要参数
$ bypy -h
usage: bypy [-h] [-V] [-d] [-v] [-r RETRY] [-q] [-t TIMEOUT] [-s SLICE] [--chunk CHUNK] [-e] [-f]
[--no-resume-download] [--include-regex INCREGEX] [--on-dup ONDUP] [--no-symlink]
[--disable-ssl-check] [--cacerts CACERTS] [--mirror MIRROR] [--select-fastest-mirror]
[--rapid-upload-only] [--resume-download-revert-back RCOUNT] [--move] [--processes PROCESSES]
[--downloader DOWNLOADER] [--downloader-arguments DOWNLOADER_ARGS] [--config-dir CONFIGDIR] [-c]
[command ...]
命令行参数解释
bypy提供了丰富的命令行参数,具体如下:
- `-h`,`--help`:显示帮助信息
- `-V`,`--version`:显示版本信息
- `-d`,`--debug`:设置调试级别
- `-v`,`--verbose`:设置详细程度
- `-r`,`--retry`:网络错误时重试的次数
- `-q`,`--quit-when-fail`:最大重试次数失败时退出
- `-t`,`--timeout`:网络超时时间(秒)
- `-s`,`--slice`:文件上传切片大小
- `--chunk`:文件下载块大小
- `-e`,`--verify`:验证上传/下载
- `-f`,`--force-hash`:强制文件MD5/CRC32计算而不使用缓存值
- `--no-resume-download`:如果本地文件已经存在,则恢复而不是重新开始下载
- `--include-regex`:要包括的文件的正则表达式。
- `--on-dup`:在目标中存在相同的文件/文件夹时要执行的操作
- `--no-symlink`:上传/同步时不要跟随符号链接
- `--disable-ssl-check`:不要验证主机SSL证书
- `--cacerts`:指定CA Bundle的路径
- `--mirror`:指定PCS镜像
- `--select-fastest-mirror`:让程序运行一些测试并选择它检测到的最快的PCS镜像。
- `--rapid-upload-only`:仅上传可以快速上传的大文件
- `--resume-download-revert-back`:恢复下载时至少回退RCOUNT下载块并对齐到块边界。负值表示不回退。
- `--move`:在下载/上传/syncdown/syncup成功后删除源文件/目录(这将强制验证文件)。
- `--processes`:并行进程数。 (仅适用于目录同步/下载/上传)。
- `--downloader`:要使用的下载程序(如果未指定,则使用Python)。
- `--downloader-arguments`:下载程序的参数
- `--config-dir`:指定配置路径
- `-c`,`--clean`:删除令牌文件(需要重新认证)和上传进度文件
上传文件
bypy upload /path/to/local/file /remote/path
下载文件
bypy download /remote/path /path/to/local/file
同步文件
bypy syncup /local/path /remote/path
bypy syncdown /remote/path /local/path
bypy是一个非常强大的Python客户端,可以方便地操作百度云。我觉得这个工具还是挺好用的,比如用百度云盘和其他人直接从linux服务器上传文件,解决文件传输问题。
参考资料:
https://blog.csdn.net/weixin_42232041/article/details/106816582
https://github.com/houtianze/bypy
https://zhuanlan.zhihu.com/p/660728505
https://blog.csdn.net/ZaoJewin/article/details/130997540