Skip to content

快速入门

简介

OCloud存储系统(https://ocloud.ihep.ac.cn)实现跨数据中心的文件统一管理,S3、Fuse、NFS、CIFS等多种协议,具有高可靠、高性能、异地站点同步等功能。

除了在web页面方式进行授权和认证,还可以用命令行进行授权以及各种文件操作。

安装步骤

分为以下步骤

  1. 根据操作系统与CPU架构下载对应版本的jcli
  2. 赋予执行权限(Windows无需配置)
  3. 配置至环境变量中方便使用(可选)
CPU架构\操作系统WindowsMacOSLinux
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添加到环境变量中以便于全局使用,可以按照以下步骤操作:

  1. 找到jcli文件的位置。
  2. 右键点击电脑屏幕左下角的Windows图标,选择“系统”。
  3. 在系统窗口左侧,点击“高级系统设置”。
  4. 在系统属性窗口中,点击“环境变量”按钮。
  5. 在环境变量窗口中,找到“系统变量”下的“Path”变量,然后点击“编辑”。
  6. 在编辑环境变量窗口中,点击“新建”,然后输入jcli文件所在的目录路径。
  7. 点击“确定”保存更改。

这样,你就可以在任何地方通过命令行使用jcli了。如果你想要将jcli添加到当前用户的环境变量中,而不是系统环境变量,你可以将步骤5中的“系统变量”改为“用户变量”,然后按照相同的步骤操作。

更新jcli

shell
jcli update

使用前准备

登录Web控制台,高能所可以采用统一认证系统登录,然后等待审核。

登录

点击左侧导航栏秘钥管理,获取秘钥信息

秘钥

点击左侧导航栏网关地址,获取需要使用的endpoint 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-test2.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-test2.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}