在 Linux 桌面环境下工作时,您通常如何复制文本文件的全部或部分内容?很可能您会在文本编辑器中打开文件,选择全部或仅选择您想要复制的文本,然后将其粘贴到其他地方。
这当然可行。但是您可以使用 xclip 实用程序在命令行中更高效地完成这项工作。xclip 在您在终端窗口中运行的命令和 Linux 图形桌面环境中的剪贴板之间提供了一个通道。
安装 xclip
xclip 不是许多 Linux 发行版的标准套件。要查看您的计算机上是否安装了它,请打开终端窗口并键入 which xclip。如果该命令返回类似 /usr/bin/xclip 的输出,那么您就可以开始使用了。否则,您需要安装 xclip。
要执行此操作,请使用您的发行版的软件包管理器。或者,如果您喜欢冒险,请从 GitHub 获取源代码 并自行编译。
执行基本操作
假设您想将文件的内容复制到剪贴板。使用 xclip 有两种方法可以做到这一点。键入以下任一项
xclip file_name
或
xclip -sel clip file_name
这两个命令之间的区别是什么(除了第二个命令更长之外)?如果您使用鼠标中间按钮粘贴文本,则第一个命令有效。但是,并非每个人都这样做。许多人习惯使用右键单击菜单或按 Ctrl+V 粘贴文本。如果您是这些人之一(我是!),使用 -sel clip 选项可确保您可以粘贴您想要粘贴的内容。
将 xclip 与其他应用程序一起使用
直接将文件的内容复制到剪贴板是一个很酷的小技巧。但您很可能不会经常这样做。您还可以通过其他方式使用 xclip,这些方式涉及将其与另一个命令行应用程序配对使用。
这种配对是通过管道 (|) 完成的。管道将一个命令行应用程序的输出重定向到另一个应用程序。这样做开启了几种可能性。让我们看看其中的三个。
假设您是系统管理员,并且需要将日志文件的最后 30 行复制到错误报告中。在文本编辑器中打开文件,滚动到末尾,然后复制和粘贴有点麻烦。为什么不使用 xclip 和 tail 实用程序来快速轻松地完成这项任务呢?运行此命令以复制最后 30 行
tail -n 30 logfile.log | xclip -sel clip
我的很多写作都进入了某种内容管理系统 (CMS) 或其他系统,以便在网络上发布。但是,我从不使用 CMS 的 WYSIWYG 编辑器进行写作——我离线使用 纯文本 并使用 Markdown 格式化。也就是说,许多此类编辑器都有 HTML 模式。通过使用此命令,我可以将 Markdown 格式的文件使用 Pandoc 转换为 HTML,并一举将其复制到剪贴板
pandoc -t html file.md | xclip -sel clip
从那里,我就可以粘贴了。
我的两个网站都使用 GitLab Pages 托管。我使用名为 Certbot 的工具为这些站点生成 HTTPS 证书,并且每次续订证书时,我都需要将每个站点的证书复制到 GitLab。将 cat 命令和 xclip 结合使用比使用编辑器更快、更高效。例如
cat /etc/letsencrypt/live/website/fullchain.pem | xclip -sel clip
这就是您可以使用 xclip 完成的全部操作吗?当然不是。我相信您可以找到更多适合您需求的用途。
最终想法
并非所有人都会使用 xclip。这没关系。然而,它确实是那种在您需要时真正派上用场的小实用程序之一。而且,正如我在一些场合发现的那样,您不知道什么时候会需要它。当那个时候到来时,您会很高兴 xclip 在那里。
8 条评论