pbcopy & pbpaste:从命令行操作剪贴板

pbcopy 和 pbpaste 是命令行Mac OS X 剪贴板的接口

复制和粘贴对于几乎所有计算机用户来说都是绝对必需的,如果您发现自己经常在命令行中工作,您会想知道如何直接从终端提示符操作 Mac OS X 的剪贴板。这就是 Mac 命令 pbcopy 和 pbpaste 的用途,您可能已经猜到这两个命令的作用与它们听起来完全一样,pbcopy 用于复制,而 pbpaste 用于通过命令行粘贴。它们实际上非常强大,下次您使用 bash、tcsh、zsh 或任何您喜欢的 shell 提示时,您一定会发现它们很有用。

我们将快速解释如何使用 pbcopy 和 pbpaste 来操作剪贴板数据,并通过一些示例说明如何将终端命令的输出重定向为剪贴板的输入,当然还有如何删除使用 pbpaste 将剪贴板添加到命令行。

在 Mac 的命令行中使用 pbcopy 和 pbpaste

pbcopy:获取标准输入并将其放入剪贴板缓冲区

pbcopy 使用起来非常简单,基本上是直接将一些东西放入其中,然后它会将它复制到剪贴板缓冲区中。然后可以通过 pbpaste 或标准 Finder 的粘贴命令 (command-v) 访问它。使用方法如下:

$ pbcopy < file.txt

就是这样,现在 file.txt 的内容将在您的剪贴板中,随时可以粘贴到任何地方。但 pbcopy 的功能远不止于此,您还可以直接复制命令和程序的输出。这是命令“ps”的示例:

<代码>$ ps 辅助 | pb复制

这会将 ps 命令的结果通过管道传输到剪贴板,再次可以将其粘贴到任何地方。如果你想稍微过滤一下你的结果,你也可以 throw 那样做。使用 grep 命令的示例是:

<代码>$ ps 辅助 | grep 根 | pb复制

这会通过管道传输“ps aux”命令的结果,但会专门针对“root”进行过滤,并且只会将这些结果复制到剪贴板中。很酷吧?

pbpaste:从剪贴板缓冲区中获取数据并将其写入标准输出

pbpaste 使用起来同样简单,它会检索你放在剪贴板缓冲区中的任何内容并将其吐出。在最简单的形式中,只需键入:

$pbpaste

这将打印您从 pbcopy 命令或 Finder 的复制命令 (command-c) 复制的任何数据。您可以通过命令行轻松地将此输出路由到一个文件中,以便稍后使用这个简单的命令访问:

$ pbpaste > pastetest.txt

不过,过滤粘贴的内容非常有用,命令结构与我们之前在 pbcopy 中看到的非常相似。我们将过滤“rcp”,但当然您可以过滤任何您想要的内容

<代码>$ pbpaste | grep rcp

您将看到粘贴的只是与您在剪贴板数据中搜索“rcp”相匹配的内容。

OS X 中的终端

是的,您可以在终端使用 pbcopy 和 pbpaste 命令,然后通过 使用标准的 Mac 复制和粘贴键盘快捷键 Command+C 和 Command+V。它也走向另一个方向,可以在命令行使用 pbpaste 粘贴来自 GUI 的副本。

如果用户有兴趣学习 pbcopy 和 pbpaste 更强大的用法,通过命令行修改 Mac OS X 的粘贴板,我们鼓励他们查看命令手册页,这些手册页基本上可以互换,涵盖了命令的两面。通过“man pbcopy”或“man pbpaste”可以轻松实现访问,您将在其中看到命令用法的更多详细信息,以及有关如何使用命令、调整编码、剥离或维护富文本详细信息的其他选项,以及这么多。