macOS终端中可用pbcopy和pbpaste命令实现剪贴板与标准输入输出的高效交互:pbcopy将输入复制到剪贴板,pbpaste将剪贴板内容输出,支持字符串、文件、命令结果的复制粘贴及实时处理。

如果您在 macOS 终端中需要快速将命令输出传入系统剪贴板,或从剪贴板提取内容进行进一步处理,则可直接使用系统原生的 pbcopy 和 pbpaste 命令。以下是具体实践方法:
一、基础复制与粘贴操作
pbcopy 从标准输入读取数据并写入 macOS 系统剪贴板,pbpaste 则从剪贴板读取内容并输出到标准输出。二者不依赖 GUI 应用,可在纯终端环境中完成跨应用内容流转。
1、将字符串“Hello, macOS”复制到剪贴板:
echo "Hello, macOS" | pbcopy
2、将当前目录下所有文件名列表复制到剪贴板:
ls | pbcopy
3、将剪贴板内容输出至终端显示:
pbpaste
4、将剪贴板内容保存为新文件 clipboard_content.txt:
pbpaste > clipboard_content.txt
二、文件内容与剪贴板互转
无需打开编辑器即可完成文件与剪贴板之间的单向或双向同步,适用于快速备份、临时中转或批量处理场景。
1、将 file.txt 全文复制到剪贴板:
pbcopy
2、将剪贴板内容追加写入 existing.log:
pbpaste >> existing.log
3、清空剪贴板(写入空字符串):
echo -n "" | pbcopy
4、验证剪贴板是否为空:
pbpaste | wc -c
三、剪贴板内容实时处理
借助管道组合 pbpaste 与其他命令,可对剪贴板中的文本执行过滤、转换、统计等操作,处理结果可重新写回剪贴板或导出为文件。
1、对剪贴板内容按行排序后写回剪贴板:
pbpaste | sort | pbcopy
2、提取剪贴板中含 “error” 的行并保存为 errors.log:
pbpaste | grep "error" > errors.log
3、统计剪贴板中文本总行数:
pbpaste | wc -l
4、将剪贴板中 Tab 字符替换为空格后写回:
pbpaste | expand | pbcopy
四、开发常用快捷实践
针对开发者高频需求,如密钥管理、环境变量查看、代码片段存取等,pbcopy/pbpaste 可显著减少鼠标操作和上下文切换。
1、复制 SSH 公钥到剪贴板(便于粘贴至 GitHub/GitLab):
cat ~/.ssh/id_rsa.pub | pbcopy
2、复制当前 PATH 环境变量值:
echo $PATH | pbcopy
3、将项目目录树结构复制到剪贴板:
tree -L 3 | pbcopy
4、将剪贴板中 JSON 数据格式化后保存为 pretty.json:
pbpaste | python3 -m json.tool > pretty.json
五、Linux 兼容方案(macOS 用户跨平台参考)
当在 Linux 环境(如通过 SSH 连接远程服务器)需模拟 pbcopy/pbpaste 行为时,可通过 xclip 工具配合别名实现一致操作体验,避免记忆多套命令。
1、在 Ubuntu/Debian 系统安装 xclip:
sudo apt install xclip
2、为当前用户配置别名(添加至 ~/.bashrc):
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -o -selection clipboard'
3、重载配置使别名生效:
source ~/.bashrc
4、验证功能是否可用:
echo "test" | pbcopy && pbpaste











