Linux/Ubuntu服务器命令行使用百度网盘

同步发布在个人笔记Linux/Ubuntu服务器命令行使用百度网盘

软件简介与安装

软件简介

百度网盘在下载大文件的时候,很容易让人沮丧,那么不如我们把百度网盘的大文件下载任务放在长时间开机运行的服务器上,用命令行运行任务并挂在后台;服务器上的大文件/数据也可以后台上传至网盘备份。
linux下百度网盘的命令行客户端是bypy(baidu yun python)。客户端提供了丰富的命令行操作,并且支持多线程操作,可以方便的让我们在服务器上下载、上传、文件同步等操作。

软件安装与登录

由于是python客户端,所以使用pip工具进行下载,没有pip工具的可以先下载pip

sudo apt-get install pip 

通过pip --version查看pip版本。
正式安装bypy

pip install bypy

登录百度网盘账号

user@ubuntu:~ $ 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

按照要求浏览器访问网站,获取一串口令后,输入并回车即可登录。此时会在网盘的“我的应用数据”文件夹下新建一个文件夹“bypy”,命令行执行命令时的默认网盘目录就是这个文件夹,把网盘文件放在这个文件夹里就可以通过命令bypy list列出来了。


软件使用命令

命令参数介绍

bypy的命令参数很多,可以实现丰富的功能

user@ubuntu:~ $ 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 [command ...]]

bypy v1.8.5 - Python client for Baidu Yun (Personal Cloud Storage) 百度云/百度网盘 Python 客户端

positional arguments:
  command               operations (quota, list, etc)

optional arguments:
  -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://stackoverflow.com/questions/406230/regular-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.baidu.com/rest/2.0/pcs/manage?method=listhost' 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/upload/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/lichen/.bypy]
  -c, --clean           remove the token file (need re-auth) and upload progress file, -cc: clean hash cache file as
                        well

Commands:
refreshtoken - refresh the access token
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
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

常用使用命令

但是常用的指令比较简单,主要就是下载、上传和同步。如果不指定文件夹下,操作的就是当前文件夹和网盘上的bypy文件夹。
下载

bypy download filename									#下载文件到当前文件夹下
bypy download remote/path/filename local/path/filename	#下载网盘文件至本地指定路径

上传

bypy upload filename									#上传文件到bypy文件夹下
bypy upload local/path/filename remote/path/filename	#上传文件至网盘指定路径

同步

bypy syncup local/path remote/path			#同步本地到云端
bypy syncdown remote/path local/path		#同步云端到本地

服务器后台运行命令

更常见的是,我们在下载大文件时,希望进程能在后台运行,尤其是当我们是ssh到服务器进行操作时,一旦退出ssh,进程就停止了。此时我们用nohup命令,使得进程不会因此而关闭;配合**&**参数让进程在后台运行。此时程序输出会被写入文件nohup.out,供我们查看。
以下载文件为例

nohup bypy download filename &
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux/Ubuntu使用VSCode进行C++编程,需要进行以下步骤: 1. 安装C++编译器,如g++或clang++。可以通过终端命令行输入以下命令进行安装: ``` sudo apt-get update sudo apt-get install build-essential ``` 2. 安装VSCode。可以从官网下载.deb文件,然后通过终端命令行输入以下命令进行安装: ``` sudo dpkg -i <file>.deb sudo apt-get install -f ``` 3. 安装C++插件。在VSCode中打开Extensions面板,搜索C++插件并安装。 4. 配置tasks.json文件。在VSCode中打开终端,输入以下命令生成tasks.json文件: ``` Ctrl + Shift + P 输入"Tasks: Configure Task" 选择"Create tasks.json file from template" 选择"Others" ``` 然后在tasks.json文件中添加以下内容: ``` { "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", "command": "g++", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": { "kind": "build", "isDefault": true } } ] } ``` 5. 配置launch.json文件。在VSCode中打开Debug面板,点击齿轮图标,选择"C++(GDB/LLDB)",然后在launch.json文件中添加以下内容: ``` { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] } ``` 6. 编写C++代码并进行编译和调试。在VSCode中打开C++源文件,按下F5键进行编译和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值