做数据分析时常有大文件多端备份或者网上传输的需求,在云盘中进行数据备份/分享不失为一个很好的选择。目前最常用的网盘当属百度云盘,但是如果没有开会员的话速度十分感人,而且由于端口封禁等原因常不稳定。本文介绍一下在linux服务器上使用命令行方式连接阿里云盘的方法,目前只需要注册免费账号,亲测可以达到带宽上限哦!
开发者的说明写在Github:GitHub- tickstep/aliyunpan:阿里云盘命令行客户端,支持webdav文件服务,目前尚处在测试版本,但正常使用是没有问题的。

下面讲流程哦~
首先注册一个免费阿里云账号:
https://www.aliyundrive.com/,
注册时300GB容量,完成新手任务可以再领到500 GB,可能少了一些,但是传输速度是真心挺不错。
下载对应的linux安装包
可以直接到github下载页面进行下载:
https://github.com/tickstep/aliyunpan/releases,
也可以使用天翼云盘分享链接下载(阿里云盘还不支持zip压缩包分享):
https://cloud.189.cn/web/share?code=z2auuiFfYb2i
(访问码:5o9b)
如果不知道自己服务器的CPU是64位还是32位,可以执行如下命令:
getconf LONG_BIT


特别注意不要选错安装包,标签说明如下[1]
(1) arm/ armv5 / armv7 :适用32位ARM系统
(2) arm64:适用64位ARM系统
(3) 386/ x86 :适用32系统,包括Intel和AMD的CPU系统
(4) amd64/ x64 :适用64位系统,包括Intel和AMD的CPU系统——多数是这个!
(5) mips:适用MIPS指令集的CPU,例如国产龙芯CPU
(6) macOSamd64适用IntelCPU的机器,macOSarm64目前主要是适用苹果M1芯片的机器
(7) iOSarm64适用iPhone手机,并且必须是越狱的手机才能正常运行
1.安装并登陆aliyunpan
命令:
#定位到压缩包所在位置(假设下载在/public/Download/中,你也可以在任意你自己有权限的地方)
cd /public/Download/
#解压缩
unzip aliyunpan-v0.1.3-linux-amd64.zip
#使用绝对路径直接打开阿里云盘软件,此时窗口显示aliyunpan>;
#也可以将aliyunpan加入到环境变量中.bashrc,具体不赘述。
/public/Download/aliyunpan-v0.1.3-linux-amd64/aliyunpan

#登陆账号
aliyunpan> login

此时会要求输入RefreshToken,这是一个和账号密码相关联的一串编码。以Chrome浏览器为例,获取步骤如下:
打开网页版阿里云网盘并登陆,然后按F12键打开浏览器调试菜单,按照下面步骤可以找到RefreshToken编码(建议保存,是唯一的编号,以后登陆还用得着),回车后即登陆成功。
千万要保密啊你的这个RefreshToken,替代了你的用户名密码!!!

图片来源[1]
输入RefreshToken就登陆成功了,/后面会显示你的阿里云盘账号~

改变路径、查看文件操作与Linux完全一样(cd,ls等命令)!
2.下载文件
#提示:开始大文件上传下载之前,建议使用Tmux命令将会话挂起,不占用当前会话。
#命令:
aliyunpan download <网盘文件或目录的路径1> <文件或目录2> <文件或目录3> ...
aliyunpan d <网盘文件或目录的路径1> <文件或目录2> <文件或目录3> ...
#下载结果中会显示下载路径,
#上面写的是网盘中要下载的文件或者文件夹的路径
可选参数
--ow overwrite,覆盖已存在的文件
--status 输出所有线程的工作状态
--save 将下载的文件直接保存到当前工作目录
--saveto value 将下载的文件直接保存到指定的目录
-x 为文件加上执行权限, (windows系统无效)
-p value 指定下载线程数(default: 0)
-l value 指定同时进行下载文件的数量(default: 0)
--retry value 下载失败最大重试次数(default: 3)
--nocheck 下载文件完成后不校验文件
--exn value 指定排除的文件夹或者文件的名称,只支持正则表达式。支持排除多个名称,每一个名称就是一个exn参数
亲测速度极度感动!

3.上传文件
命令:
aliyunpan upload <本地文件/目录的路径1> <文件/目录2> <文件/目录3> ... <目标目录>
aliyunpan u <本地文件/目录的路径1> <文件/目录2> <文件/目录3> ... <目标目录>
开发者给出的示例:
#将本地的C:\Users\Administrator\Desktop\1.mp4上传到网盘/视频目录
#注意区别反斜杠"\"和斜杠"/" !!!
aliyunpan upload C:/Users/Administrator/Desktop/1.mp4 /视频
#将本地的C:\Users\Administrator\Desktop\1.mp4和C:\Users\Administrator\Desktop\2.mp4上传到网盘/视频目录
aliyunpan upload C:/Users/Administrator/Desktop/1.mp4 C:/Users/Administrator/Desktop/2.mp4 /视频
#将本地的C:\Users\Administrator\Desktop整个目录上传到网盘/视频目录
aliyunpan upload C:/Users/Administrator/Desktop /视频
##下面演示文件或者文件夹排除功能
#将本地的C:\Users\Administrator\Video整个目录上传到网盘/视频目录,但是排除所有的.jpg文件
aliyunpan upload -exn "\.jpg$" C:/Users/Administrator/Video /视频
#将本地的C:\Users\Administrator\Video整个目录上传到网盘/视频目录,但是排除所有的.jpg文件和.mp3文件,每一个排除项就是一个exn参数
aliyunpan upload -exn "\.jpg$" -exn "\.mp3$" C:/Users/Administrator/Video /视频
以下是典型的排除特定文件或者文件夹的例子,注意:参数值必须是正则表达式
1)排除@eadir文件或者文件夹:-exn "^@eadir$"
2)排除.jpg文件:-exn "\.jpg$"
3)排除.号开头的文件:-exn "^\."
4)排除~号开头的文件:-exn "^~"
5)排除myfile.txt文件:-exn "^myfile.txt$"
4.退出
aliyunpan> logout
其他的命令可以参考github中的详细说明啦[1]~对了,也可以提供webdav文件服务。
参考文章:
[1]GitHub- tickstep/aliyunpan:阿里云盘命令行客户端,支持webdav文件服务
转载自《生信技能树》,如有侵权,请联系删除。