主题切换
快速入门
简介
OCloud存储系统(https://ocloud.ihep.ac.cn)实现跨数据中心的文件统一管理,S3、Fuse、NFS、CIFS等多种协议,具有高可靠、高性能、异地站点同步等功能。
除了在web页面方式进行授权和认证,还可以用命令行进行授权以及各种文件操作。
安装步骤
分为以下步骤
- 根据操作系统与CPU架构下载对应版本的jcli
- 赋予执行权限(Windows无需配置)
- 配置至环境变量中方便使用(可选)
CPU架构\操作系统 | Windows | MacOS | Linux |
---|---|---|---|
Inter/AMD 64bit(amd64/x86) | 下载 | 下载 | 下载 |
ARM/Apple-Silicon(arm64/aarch64) | 下载 | 下载 | 下载 |
使用命令行下载
wget
注意:一些系统系统没有带有wget命令 请使用curl下载
shell
wget {上文的下载链接}
curl
shell
curl {上文的下载链接}
给jcli增加可执行权限
shell
chmod +x jcli
配置至环境变量中方便使用
Linux/Mac
把jcli拷贝到系统目录/usr/bin
shell
sudo cp jcli /usr/bin/
或配置至用户HOME目录的bin目录下
bash
mkdir $HOME/bin/
cp jcli $HOME /bin/
export PATH=$PATH:$HOME/bin
echo "export PATH=$PATH:$HOME/bin" >> ~/.bashrc
Windows
在Windows系统中,将jcli添加到环境变量中以便于全局使用,可以按照以下步骤操作:
- 找到jcli文件的位置。
- 右键点击电脑屏幕左下角的Windows图标,选择“系统”。
- 在系统窗口左侧,点击“高级系统设置”。
- 在系统属性窗口中,点击“环境变量”按钮。
- 在环境变量窗口中,找到“系统变量”下的“Path”变量,然后点击“编辑”。
- 在编辑环境变量窗口中,点击“新建”,然后输入jcli文件所在的目录路径。
- 点击“确定”保存更改。
这样,你就可以在任何地方通过命令行使用jcli了。如果你想要将jcli添加到当前用户的环境变量中,而不是系统环境变量,你可以将步骤5中的“系统变量”改为“用户变量”,然后按照相同的步骤操作。
更新jcli
shell
jcli update
使用前准备
登录Web控制台,高能所可以采用统一认证系统登录,然后等待审核。
点击左侧导航栏秘钥管理,获取秘钥信息
点击左侧导航栏网关地址,获取需要使用的endpoint
如果不知道使用哪个endpoint,可以使用公网网关地址:https://fgws3-ocloud.ihep.ac.cn
具体使用
子命令列表
- 子命令别名等同于子命令本身,即
jcli delete
等同于jcli rm
- 使用
jcli help [子命令]
可以查看对应子命令的帮助信息
shell
子命令列表:
命令 别名 作用
auth 认证服务
config 配置认证信息
cp 复制对象
rm delete,del 删除文件
etag 计算文件ETag
expire 获取AKSK过期时间
get 下载文件
list ls 查看文件列表
mv 移动对象
put 上传文件
stat 获取文件信息
token 创建临时AKSK
update 更新客户端版本
认证服务
示例:
shell
jcli auth -ak dDMX4Ei4UKGkumN1PwbC -sk gxhOinxMYInJIlKMYZHC -bucket 20003-osca-test -endpoint https://fgws3-ocloud.ihep.ac.cn
参数列表
shell
-ak 参数值类型:string
AccessKey
-auth 参数值类型:string
认证文件
-bucket 参数值类型:string
使用的Bucket
-default 参数值类型:bool
设置为默认认证信息
-delete 参数值类型:bool
删除认证文件
-delete.auto 参数值类型:bool
自动删除无效的认证信息
-e 参数值类型:bool
更新认证文件
-endpoint 参数值类型:string
服务端点 多个使用,分割
-f 参数值类型:bool
无需用户确认
-n 参数值类型:bool
添加新的认证信息
-o 参数值类型:string
导出路径
-sk 参数值类型:string
SecretKey
创建缺省认证信息
shell
jcli auth
创建指定文件名的认证信息
shell
jcli -auth FILENAME auth
查看所有认证信息
shell
jcli auth -a
创建临时认证信息
shell
jcli [-auth FILENAME] token -n
延长临时认证的时间
shell
jcli [-auth FILENAME] token
上传文件
示例: 上传本地/etc/hosts
至远端/tmp/
下
- 隐性指定参数
shell
jcli put /etc/hosts /tmp/
- 显式指定参数
shell
jcli put -f /etc/hosts -r /tmp/ -n 10 -retry 1
put的使用方法:
shell
-b 参数值类型:string
目标桶 (默认值: "认证时填入的桶名称")
-f 参数值类型:string
本地路径
-n 参数值类型:int
并发文件数,最大为64 (默认值: 1)
-nolink 参数值类型:bool
跳过文件夹下的符号文件
-r 参数值类型:string
远端路径 默认为 /
-retry 参数值类型:int
重试次数,最大为3次
-speed 参数值类型:bool
计算上传速度
-t 参数值类型:int
并发请求数 设置过大可能导致CPU/内存占用过高 (默认值: 4)
下载文件
示例: 下载远端文件/tmp/hosts
至本地/tmp/hosts
- 隐性指定参数
shell
jcli get /tmp/hosts /tmp/hosts
- 显性指定参数
shell
jcli get -r /tmp/hosts -f /tmp/hosts -n 10
get的使用方法:
shell
-b 参数值类型:string
目标桶 (默认值: "认证时填入的桶")
-f 参数值类型:string
本地路径 默认为当前路径
-n 参数值类型:int
并发文件数,最大为64 (默认值: 1)
-presign 参数值类型:bool
只计算预签名
-presign.timeout 参数值类型:int
预签名超时时间 单位小时 (默认值: 24)
-r 参数值类型:string
远端路径
-speed 参数值类型:bool
计算上传速度
删除文件
示例: 删除远端文件/tmp/hosts
- 隐性指定参数
shell
jcli rm /tmp/hosts
- 显性指定参数
shell
jcli rm -r /tmp/hosts
rm的使用方法:
shell
-b 参数值类型:string
目标桶 (默认值: "认证时填入的桶")
-r 参数值类型:string
远端文件
查看文件列表
示例: 获取远端目录/tmp/
下文件列表
- 隐性制定参数
shell
jcli list /tmp/
- 显性指定参数
shell
jcli list -r /tmp/
list的使用方法:
shell
-a 参数值类型:bool
递归显示文件夹下所有文件,默认不开启
-b 参数值类型:string
目标桶 (默认值: "认证时填入的桶")
-r 参数值类型:string
远端路径
复制对象
示例: 复制远端桶20010-test
中的1.txt
到桶20010-test
的2.txt
- 隐性指定参数
shell
jcli cp s3://20010-test/1.txt s3://20010-test/2.txt
- 显性指定参数
shell
jcli cp -src s3://20010-test/1.txt -dest s3://20010-test/2.txt
cp的使用方法:
shell
-dest 参数值类型:string
远端目标文件,例s3://{bucket}/{object}
-src 参数值类型:string
远端源文件,例s3://{bucket}/{object}
移动对象
示例: 移动远端桶20010-test
中的1.txt
到桶20010-test
的2.txt
- 隐性制定参数
shell
jcli mv s3://20010-test/1.txt s3://20010-test/2.txt
- 显性制定参数
shell
jcli mv -src s3://20010-test/1.txt -dest s3://20010-test/2.txt
mv的使用方法:
shell
-dest 参数值类型:string
远端目标文件,例s3://{bucket}/{object}
-src 参数值类型:string
远端源文件,例s3://{bucket}/{object}