把标准输入写入当前用户的 macOS 剪贴板,供其他应用粘贴。
pbcopy 从 stdin 读取数据,放进当前登录用户的通用剪贴板(general pasteboard),再由其他应用粘贴。常见用法是 cat 文件 | pbcopy、pbcopy < 文件,或把命令输出、SSH 公钥直接送进剪贴板。它不需要 root,也没有输出,成功时只返回退出码。
边界:剪贴板属于当前图形登录用户,SSH 到一台 Mac 再执行 pbcopy,不会写到你本地电脑的剪贴板;要在本地粘贴远端输出,应在本地执行 ssh 主机 'cat 文件' | pbcopy。pbcopy 以文本为主,图片、二进制内容可能被破坏,二进制先 base64 再复制。
# 1. 把一段文本放进剪贴板
% printf 'hello from macOS\n' | pbcopy
# 2. 上传 SSH 公钥到 GitHub 前,直接复制文件内容
% pbcopy < ~/.ssh/id_ed25519.pub
# 3. 复制最近 20 条命令历史,方便粘贴到文档
% fc -ln -20 | pbcopy
# 4. 清空剪贴板
% pbcopy < /dev/null
# 5. 把远端文件带到本地剪贴板;pbcopy 必须在本地执行
% ssh devbox 'cat /etc/hosts' | pbcopy
# 6. 复制前先确认内容长度,避免把超大日志塞进剪贴板
% wc -c ~/Downloads/report.log
% pbcopy < ~/Downloads/report.log
pbcopy,影响的是远端 Mac 的剪贴板,不是你本地电脑;把管道放到本地一侧。pbcopy 没有“追加”概念,每次调用都会覆盖剪贴板;需要保留旧内容时先 pbpaste >> 备份文件。pbcopy < 文件 或从密码管理器复制,避免在命令行里拼字符串。pbcopy,它按文本处理会损坏数据;截图后用 screencapture -c,二进制数据先 base64。pbcopy 成功时通常没有任何打印。pbpaste — 从剪贴板读取文本。screencapture — 截图并直接放入剪贴板。osascript — 在脚本里操作剪贴板和界面。xclip — 对照 X11 剪贴板工具。PowerShell — 用 Get-Clipboard/Set-Clipboard 对照剪贴板操作。合上页面,先回答,再展开对照。
ssh mac 'pbcopy < file' 不能把内容放进你本地电脑的剪贴板?pbcopy 会输出成功信息吗?pbcopy 操作的是执行它的那台 Mac 的当前用户剪贴板;远端执行只写远端,本地应在管道末端执行 pbcopy。pbcopy < /dev/null;成功时通常没有输出,只能看退出码。pbcopy 按文本处理,二进制字节可能被改写;先 base64 编码再复制,接收端解码。
小程序版
微信扫码,随时查命令