快速上手
从终端创建或加入空间、发送内容并查看历史。
uniclip 是 UniClipboard 的终端客户端。它与桌面应用连接同一个后台服务,
因此 CLI 和 GUI 可以使用同一个 profile 与空间。需要后台服务的命令发现它尚未
运行时,会自动启动同版本的 uniclipd。
如果 uniclip --version 还不能运行,请先阅读 安装 CLI。
全局参数
这些参数可用于所有公开命令:
| 参数 | 作用 |
|---|---|
--json | 返回便于脚本处理的 JSON。 |
-v, --verbose | 在终端显示更多诊断信息。 |
--profile <NAME> | 使用隔离的数据、安全存储条目和网络身份。 |
桌面应用已经打开时,不需要为 CLI 单独设置 profile。只有在确实要运行一个完全独立的
实例时才使用 --profile,例如在一台电脑上模拟两台测试设备。
创建或加入空间
先创建空间,再为另一台设备生成邀请:
uniclip space init
uniclip space invite两个命令都会引导你输入所需信息。邀请码是短期秘密,只能使用一次。
在新设备上运行加入命令,然后按提示粘贴邀请码:
uniclip space join非交互调用需要显式传入邀请码:
uniclip space join --code <INVITATION_CODE>命令还会要求输入空间口令,并等待最终结果。成功后查看成员列表:
uniclip member list脚本只想等到加入请求被接受、不想等待最终结果时,可以加 --no-wait,之后再
查看或取消请求:
uniclip space join status
uniclip space join cancelCtrl-C 只会停止本地等待,不会取消加入请求。
发送和读取内容
# 把文本发送给在线的已配对设备
uniclip send "hello from the CLI"
# 发送现有普通文件(自动识别)
uniclip send ./report.pdf
# 强制把现有文件名作为文字发送
uniclip send --text report.pdf
# 从标准输入读取文本
printf 'hello from a pipe' | uniclip send
# 打印本机已经同步的最新文本或链接
uniclip get
# 等待下一条同步内容,输出后退出
uniclip get --wait
# 等待下一条内容,通过当前终端复制后退出
uniclip get --copy --wait
# 只列出最近条目,不下载内容
uniclip get --list -n 20
# 搜索历史
uniclip search "报告"get 默认读取已经进入本机历史的内容并立即返回。get --wait 只处理命令订阅建立后
到达的下一条匹配内容并退出,可与 --type 或 --id 组合。交互终端会为已匹配的文件
显示真实接收进度;进度只写入 stderr,因此 stdout 仍可安全用于管道和 JSON。
watch 会持续等待并打印之后收到的内容,直到按下 Ctrl-C:
uniclip watchwatch 只负责观察,不会把内容写入系统剪贴板。
发送或接收文件
# 显式强制文件模式
uniclip send --file ./report.pdf
# 从 stdin 逐行读取完整文件路径
printf '%s\n' ./report.pdf './images/cover art.png' | uniclip send --file
# 等待下一条内容;文件保存到 ./inbox
uniclip get --wait --out ./inbox现有普通文件会被自动识别。文件传输由后台服务负责,所有相关目标进入终态后命令会
自动退出。-f / --file 没有位置路径时,stdin 表示文件路径列表,而不是文件内容;
空行会被忽略,所有路径会在发送前完成校验,重复路径只发送一次。可以重复使用
--peer 限制目标,按 Ctrl-C 可取消等待。
管理后台服务
大多数命令会在需要时自动启动服务。需要明确控制生命周期时,可以使用:
| 命令 | 作用 |
|---|---|
uniclip start | 在后台启动 uniclipd。 |
uniclip start --foreground | 让服务留在终端中运行并显示日志。 |
uniclip start --server | 启动无头节点,不读写系统剪贴板。 |
uniclip stop | 停止当前 profile 的后台服务。 |
uniclip space status | 查看服务、空间、网络和信任状态。 |
桌面应用和 CLI 使用同一个 profile 时会复用同一个后台服务。不要直接启动
uniclipd。
在脚本中使用
需要让其他程序读取结果时,加上 --json:
uniclip --json space status
uniclip --json member list
uniclip --json search "报告" --limit 10为了保持标准输出干净,部分命令会把面向人的状态提示写到标准错误。脚本应读取 JSON 和退出状态,不要匹配终端提示文字。
切换或重建空间
切换到另一个空间时,可读的本机历史会迁移到新空间:
uniclip space join --switch --code <NEW_INVITATION_CODE>命令会先要求确认。只应在受控的非交互流程中添加 --yes。如果有本机记录无法
读取,命令默认停止;使用 --preserve-unreadable-history 可以保留这些记录,
避免在切换时丢弃。
要把当前设备重建为只包含本机的新空间:
uniclip space reset --yes这会永久废弃旧的配对、信任和同步关系,但保留本机历史、已完成文件、设置、 设备身份和解锁能力。所有设备都需要重新配对。这不是恢复出厂设置。
所有公开命令和参数见 CLI 参考。