客户端命令行
yshell 是悦库网盘系统的全平台(Windows、MAC、Linux) CLI客户端,它允许您使用命令行方式上传/下载文件,像操作本地文件一样使用命令行对网盘中的文件进行删除、移动、复制、重命名等操作,也可以使用window bat、linux sh、Python、NodeJS等脚本实现对网盘文件自动化管理。
配置系统命令
通过配置ysh命令,可以直接在系统中输入ysh命令进行操作,方便快捷。配置完成后可以查看命令介绍。
Windows
兼容win7及以上系统。
以管理员身份打开cmd命令行,并按以下步骤运行命令:
-
设置服务器地址,注意!下面命令的URL需要在您自己服务端中的客户端下载页面,找到命令行客户端对应平台的下载按钮,右键菜单中复制链接。
set "downloadUrl=http://192.168.0.100:2020/api/package/client/shell_windows_64/ysh.exe"
-
创建yshell目录
mkdir %appdata%\yshell
-
下载ysh.exe到yshell目录
powershell (new-object Net.WebClient).DownloadFile('%downloadUrl%','%appdata%\yshell\ysh.exe')
-
添加系统环境变量,并立即生效
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%appdata%\yshell"
taskkill /f /im explorer.exe&explorer.exe -
退出当前cmd窗口,打开一个新cmd,测试命令有效性。如果命令不生效请注销Windows系统重新进入。
ysh --help
Mac
兼容Mac10.15及以上系统。
按以下步骤运行命令:
-
设置服务器地址,注意!下面命令的URL需要在您自己服务端中的客户端下载页面,找到命令行客户端对应平台的下载按钮,右键菜单中复制链接。
export downloadUrl=http://192.168.0.100:2020/api/package/client/shell_mac/ysh
-
创建yshell目录
mkdir ~/.yshell
-
下载ysh.exe到yshell目录,设置执行权限
wget --content-disposition -P ~/.yshell/ $downloadUrl
chmod +x ~/.yshell/ysh -
添加yshell环境变量
sudo vim ~/.bash_profile
打开后在文件末尾添加一行:
export PATH=~/.yshell:$PATH
保存,关闭。并使环境变量生效。
source ~/.bash_profile
-
测试
ysh --help
Linux
以下命令行在Ubuntu18系统的x86/arm64架构下验证通过,其他Linux系统方法类似,可自行探索。
按以下步骤运行命令:
-
设置服务器地址,注意!下面命令的URL需要在您自己服务端中的客户端下载页面,找到命令行客户端对应平台的下载按钮,右键菜单中复制链接。
x86 CPU 架构:
export downloadUrl=http://192.168.0.100:2020/api/package/client/shell_linux_x64/ysh
arm64 CPU架构:
export downloadUrl=http://192.168.0.100:2020/api/package/client/shell_linux_arm64/ysh
-
创建yshell目录
mkdir ~/.yshell
-
下载ysh.exe到yshell目录,设置执行权限
wget --content-disposition -P ~/.yshell/ $downloadUrl
chmod +x ~/.yshell/ysh -
添加yshell环境变量
sudo vim ~/.profile
打开后在文件末尾添加一行:
export PATH=~/.yshell:$PATH
保存,关闭。并使环境变量生效。
source ~/.profile
-
测试
ysh --help
命令介绍
ysh [--version] [--help] <子命令> [<参数>]
已支持的子命令:
user 配置用户名称和密码并保存到本地
put 上传文件、文件夹
get 下载文件、文件夹
ls 列出指定目录下的文件/文件夹
mkdir 创建文件夹
rm 删除文件、文件夹
使用命令 ysh -h < 子命令名称 > 获取子命令详细帮助信息。
user
用法:ysh user [<参数>]
设置/清理用户认证信息
-u, --url=URL 服务器URL
-a, --account=Account 登录账号
-p, --password=Password 登录密码
-c, --clear 清除本地配置的用户信息和登录凭据
例子:
ysh user -u http://192.168.0.100:2020 -a test -p 666666 #设置用户的认证信息(服务器URL、登录账号、密码)
ysh user -c #清理当前用户认证信息
put
用法:ysh put [<参数>] 本地路径 远程路径
将本地路径中的文件/文件夹上传到指定的远程路径下。
-f, --force 如果远程路径的目标文件已存在则覆盖,默认远程目标文件已存在会失败。
例子:
ysh put e:\test\test.txt /协同空间/资料 #将文件上传到网盘路径下,如果存在则失败。
ysh put -f e:\test\test.txt /协同空间/资料 #将文件上传到网盘路径下,如果存在则覆盖。
ysh put -f e:\test\test.xls /协同空间/资料/abc.xls #将文件上传到网盘路径下,并生成新名称,如果存在则覆盖。
get
用法:ysh get [<参数>] 远程路径 本地路径
将远程路径下的文件/文件夹下载到本地路径
-f, --force 如果本地路径的目标文件已存在则覆盖,默认本地路径的目标文件已存在会失败。
例子:
ysh get /协同空间/资料/abc.xls e:/ #将网盘路径下的文件下载到本地,如果本地已存在则失败。
ysh get -f /协同空间/资料/abc.xls e:/ #将网盘路径下的文件下载到本地,如果本地已存在则覆盖。
ls
用法:ysh ls [<参数>] 路径
列出指定远程路径下的所有文件
例子:
ysh ls /协同空间/资料 #列出网盘路径下的文件/文件夹,暂不支持相对路径。
mkdir
用法:ysh mkdir 路径
创建远程目录
-p, --parents 如果父目录不存在则创建。
例子:
ysh mkdir /协同空间/资料/文档 #创建网盘文件夹,如果父目录不存在则失败。
ysh mkdir -p /协同空间/资料/文档/计算机/编程 #创建网盘文件夹,如果空间/父目录不存在则逐层创建。
rm
用法:ysh rm [<参数>] 路径
删除文件/文件夹
-r, --recursive 递归删除目录及其子目录内的所有内容
例子:
ysh rm /协同空间/资料/abc.xls #删除网盘中的文件,如果是目录则失败。
ysh rm -r /协同空间/资料/文档 #删除文件夹,包括其下载的所有子文件/文件夹。