Linux也有百度云喔~
Biomamba-生信基地
2024年11月12日 10:25

一、写在前面

经常有粉丝向我抱怨,为什么每次发放资料都用百度云,自己下载了一遍之后还得再上传一遍服务器才能分析。其实大家大可不必这么周转,百度云也有 Linux的发行版本,利用python包bypy来管理/传输百度云盘资源也很方便(别问我为什么不用阿里云、腾讯云。。。,我用了这些还会有人提出相同的问题)。

如果你对下面的教程比较迷茫,那么你可以先行学习Linux教程:

十小时学会Linux​

生信Linux及服务器使用技巧​

二、通过bypy使用百度云

首先需要确保你的Linux环境中有python(生信Python速查手册​)我这里的版本是3.10.0。

# 安装bypy

pip install bypy

# 配置账号密码:

bypy info

会返回以下页面:

用浏览器访问上面提供的网址,登录自己的百度云盘账号:

授权后会返回授权码,复制授权码:

回到终端粘贴授权码,回车后会自动配置百度网盘账号密码及初始设置,返回百度云盘的存储信息,下面的信息会与各位的windows客户端相一致:

配置好之后,在Windows客户端会多出这么一个文件夹,这个文件夹就是Linux和windows交换文件的桥梁:

在Linux终端使用百度云,大家就得使用命令行啦,最常用的是:

1、查看目录下包含哪些内容:

bypy list

/apps/bypy/即为bypy访问的根目录

2、上传文件

bypy upload /path/to/local/file /remote/path

3、下载文件

bypy download /remote/path /path/to/local/file

假如我在“我的网盘/我的应用数据/bypy”下有一个名为test的文件夹,我希望把它下载到我的家目录中,那么我应该:

bypy download test /home/biomamba

下载时也会有进度条:

大文件建议大家挂载在后台下载:程序可以自己跑的,不用盯着​

更多用法:

positional arguments:

 command              operations (quota,

                      list, etc)

options:

 -h, --help           show this help

                      message and exit

 -V, --version        show program's

                      version number and

                      exit

 -d, --debug          set debugging level

                      (-dd to increase

                      debugging level,

                      -ddd to enable HTPP

                      traffic debugging as

                      well (very

                      talkative))

                      [default: 0]

 -v, --verbose        set verbosity level

                      [default: 0]

 -r RETRY, --retry RETRY

                      number of retry

                      attempts on network

                      error [default: 5

                      times]

 -q, --quit-when-fail

                      quit when maximum

                      number of retry

                      failed [default:

                      False]

 -t TIMEOUT, --timeout TIMEOUT

                      network timeout in

                      seconds [default:

                      300]

 -s SLICE, --slice SLICE

                      size of file upload

                      slice (can use

                      '1024', '2k', '3MB',

                      etc) [default: 20

                      MB]

 --chunk CHUNK        size of file

                      download chunk (can

                      use '1024', '2k',

                      '3MB', etc)

                      [default: 20 MB]

 -e, --verify         verify upload /

                      download [default :

                      False]

 -f, --force-hash     force file MD5 /

                      CRC32 calculation

                      instead of using

                      cached value

 --no-resume-download

                      resume instead of

                      restarting when

                      downloading if local

                      file already exists

                      [default: True]

 --include-regex INCREGEX

                      regular expression

                      of files to include.

                      if not specified

                      (default),

                      everything is

                      included. for

                      download, the regex

                      applies to the

                      remote files; for

                      upload, the regex

                      applies to the local

                      files. to exclude

                      files, think about

                      your regex, some

                      tips here: https://s

                      tackoverflow.com/que

                      stions/406230/regula

                      r-expression-to-

                      match-string-not-

                      containing-a-word

                      [default: ]

 --on-dup ONDUP       what to do when the

                      same file / folder

                      exists in the

                      destination:

                      'overwrite', 'skip',

                      'prompt' [default:

                      overwrite]

 --no-symlink         DON'T follow symbol

                      links when uploading

                      / syncing up

 --disable-ssl-check  DON'T verify host

                      SSL cerificate

 --cacerts CACERTS    Specify the path for

                      CA Bundle [default:

                      None]

 --mirror MIRROR      Specify the PCS

                      mirror (e.g.

                      bj.baidupcs.com.

                      Open 'https://pcs.ba

                      idu.com/rest/2.0/pcs

                      /manage?method=listh

                      ost' to get the

                      list) to use.

                      [default:

                      pcs.baidu.com]

 --select-fastest-mirror

                      Let the program run

                      some tests and

                      select the fastest

                      PCS mirror it

                      detectes. [default:

                      False]

 --rapid-upload-only  only upload large

                      files that can be

                      rapidly uploaded

 --resume-download-revert-back RCOUNT

                      Revert back at least

                      RCOUNT download

                      chunk(s) and align

                      to chunk boundary

                      when resuming the

                      download. A negative

                      value means NO

                      reverts. [default:

                      1]

 --move               Delete source

                      files/directories

                      after download/uploa

                      d/syncdown/syncup is

                      successful (This

                      will force

                      verification of the

                      files). [default:

                      False]

 --processes PROCESSES

                      Number of parallel

                      processes. (Only

                      applies to dir

                      sync/dl/ul).

                      [default: 1]

 --downloader DOWNLOADER

                      downloader to use

                      (use python if not

                      specified). valid

                      values: ['aria2']

                      [default: ]

 --downloader-arguments DOWNLOADER_ARGS

                      arguments for the

                      downloader:

                      normally, the string

                      is the arguments to

                      be passed to the

                      downloader. however,

                      when it begins with

                      '@', it will be

                      treated as the name

                      of file, whose

                      contents will be

                      used as the

                      downloader arguments

                      (example: when

                      specifying

                      '@args.txt', file

                      contents of

                      'args.txt' will be

                      used as the

                      downloader

                      arguments, not the

                      string '@args.txt'

                      itself). you can

                      also use environment

                      variable 'DOWNLOADER

                      _ARGUMENTS' to

                      specify the

                      downloader arguments

                      (the environment

                      variable has lower

                      priority compared to

                      this argument).

                      default values:

                      {'aria2': '-c -k10M

                      -x4 -s4 --file-

                      allocation=none'}

 --config-dir CONFIGDIR

                      specify the config

                      path [default: /home

                      /biomamba/.bypy]

 -c, --clean          remove the token

                      file (need re-auth)

                      and upload progress

                      file, -cc: clean

                      hash cache file as

                      well

Commands:

help <command> - provide some information for the command

cdl_add <source_url> [save_path] [timeout] - add an offline (cloud) download task

cdl_addmon <source_url> [save_path] [timeout] - add an offline (cloud) download task and monitor the download progress

cdl_cancel <task_id>  - cancel an offline (cloud) download task

cdl_list - list offline (cloud) download tasks

cdl_query <task_ids>  - query existing offline (cloud) download tasks

cleancache - remove invalid entries from hash cache file

combine <remotefile> [localfile] [md5s] - try to create a file at PCS by combining slices, having MD5s specified

compare [remotedir] [localdir] - compare the remote directory with the local directory

copy/cp <from> <to> - copy a file / dir remotely at Baidu Yun

delete/remove/rm <remotepath> - delete a file / dir remotely at Baidu Yun

downdir [remotedir] [localdir] - download a remote directory (recursively)

downfile <remotefile> [localpath] - download a remote file.

download [remotepath] [localpath] - download a remote directory (recursively) / file

dumpcache - display file hash cache

list/ls [remotepath] [format] [sort] [order] - list the 'remotepath' directory at Baidu PCS

listrecycle [start] [limit] - list the recycle contents

meta <remotepath> [format] - get information of the given path (dir / file) at Baidu Yun.

mkdir <remotedir> - create a directory at Baidu Yun

move/mv/rename/ren <from> <to> - move a file / dir remotely at Baidu Yun

quota/info - display the quota information

refreshtoken - refresh the access token

restore <remotepath> - restore a file from the recycle bin

search <keyword> [remotepath] [recursive] - search for a file using keyword at Baidu Yun

stream <remotefile> <localpipe> [format] [chunk] - stream a video / audio file converted to M3U format at cloud side, to a pipe.

syncdown [remotedir] [localdir] [deletelocal] - sync down from the remote directory to the local directory

syncup [localdir] [remotedir] [deleteremote] - sync up from the local directory to the remote directory

upload [localpath] [remotepath] [ondup] - upload a file or directory (recursively)

whoami - display the user information

本教程参考: https://github.com/houtianze/bypy