upx
upx copied to clipboard
UPYUN Storage Command Tool
upx is a tool for managing files in UPYUN. Mac, Linux, Windows supported
基本功能
- [x] 支持基本文件系统操作命令,如
mkdir
,cd
,ls
,rm
,pwd
- [x] 支持上传文件或目录到又拍云存储
- [x] 支持从又拍云存储下载文件或目录到本地
- [x] 支持增量同步文件到又拍云存储
- [x] 支持删除又拍云存储中的文件或目录,并且支持通配符
*
- [x] 支持多用户,多操作系统
- [x] 支持基于时间列目录以及删除文件
- [x] 支持
tree
获取目录结构 - [x] 支持提交异步处理任务
- [x] 更加准确简洁的进度条
- [x] 使用 UPYUN GoSDK v3
- [x] 同步目录支持 --delete
- [x] 支持 CDN 缓存刷新
安装
可执行程序二进制下载地址
源码编译
需要安装 Golang 编译环境
$ git clone https://github.com/upyun/upx.git
$ cd upx && make
or
$ GO111MODULE=on go get -u github.com/upyun/[email protected]
Windows
PS> scoop bucket add carrot https://github.com/upyun/carrot.git
Install upx from github or upyun cdn:
PS> scoop install upx-github
PS> scoop install upx-upcdn
Docker
docker build -t upx .
docker run --rm upx upx -v
使用
所有命令都支持
-h
查看使用方法
命令 | 说明 |
---|---|
login | 登录又拍云存储 |
logout | 退出帐号 |
sessions | 查看所有的会话 |
switch | 切换会话 |
info | 显示服务名、用户名等信息 |
cd | 改变工作目录(进入一个目录) |
pwd | 显示当前所在目录 |
mkdir | 创建目录 |
ls | 显示当前目录下文件和目录信息 |
tree | 显示目录结构 |
get | 下载一个文件或目录 |
put | 上传一个文件或目录 |
rm | 删除目录或文件 |
sync | 目录增量同步,类似 rsync |
auth | 生成包含空间名操作员密码信息的 auth 字符串 |
post | 提交异步处理任务 |
purge | 提交 CDN 缓存刷新任务 |
global options | 说明 |
---|---|
--quiet, -q | 不显示信息 |
--auth value | auth 字符串 |
--help, -h | 显示帮助信息 |
--version, -v | 显示版本号 |
列目录 ls
默认按文件修改时间先后顺序输出
options | 说明 |
---|---|
-d | 仅显示目录 |
-r | 文件修改时间倒序输出 |
--color | 根据文件类型输出不同的颜色 |
-c v | 仅显示前 v 个文件或目录, 默认全部显示 |
--mtime v | 参考 Linux find |
删除 rm
默认不会删除目录,支持通配符
*
options | 说明 |
---|---|
-d | 仅删除目录 |
-a | 删除目录跟文件 |
--async | 异步删除,目录可能需要二次删除 |
--mtime v | 参考 Linux find |
增量同步 sync
sync 本地路径 存储路径
options | 说明 |
---|---|
-w | 指定并发数,默认为 5 |
--delete | 删除上一次同步后本地删除的文件 |
生成 auth 串 auth
auth 空间名 操作员 密码
当命令中包含 --auth
参数时,会忽略已登陆的信息。
提交异步任务 post
options | 说明 |
---|---|
--app value | app 名称 |
--notify value | 回调地址 |
--task value | 任务文件名 |
缓存刷新 purge
purge url --list urls
options | 说明 |
---|---|
--list value | 批量刷新文件名 |
TODO
- [ ] put 支持断点续传
- [ ] upx 支持指定 API 地址