加载中…
个人资料
知秋一叶
知秋一叶
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,669
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Linux命令行中的复制粘贴-Xclip的使用。

(2019-07-12 16:51:12)
分类: Linux

在使用 Linux 桌面工作时,你通常如何复制全部或部分文本?你可能会在文本编辑器中打开文件,选择全部或仅选择要复制的文本,然后将其粘贴到其他位置。

这样没问题。但是你可以使用 xclip 在命令行中更有效地完成工作。xclip 提供了在终端窗口中运行的命令与 Linux 图形桌面环境中的剪贴板之间的管道。

安装 xclip

xclip 并不是许多 Linux 发行版的标准套件。要查看它是否已安装在你的计算机上,请打开终端窗口并输入 which xclip。如果该命令返回像 /usr/bin/xclip 这样的输出,那么你可以开始使用了。否则,你需要安装 xclip。

netlogin@aztec:~$ which xclip
netlogin@aztec:~$ sudo apt update
[sudo] netlogin 的密码:
命中:1 https://dl.winehq.org/wine-builds/debian stretch InRelease
命中:2 http://packages.deepin.com/deepin lion InRelease
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
所有软件包均为最新。
netlogin@aztec:~$ sudo apt-get  update
命中:1 http://packages.deepin.com/deepin lion InRelease
命中:2 https://dl.winehq.org/wine-builds/debian stretch InRelease
正在读取软件包列表... 完成
netlogin@aztec:~$ sudo apt-get  install xclip
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
  xclip
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 21.1 kB 的归档。
解压缩后会消耗 56.3 kB 的额外空间。
获取:1 https://mirrors.cloud.tencent.com/deepin lion/main amd64 xclip amd64 0.12+svn84-4+b1 [21.1 kB]
已下载 21.1 kB,耗时 0秒 (31.2 kB/s)
正在选中未选择的软件包 xclip。
(正在读取数据库 ... 系统当前共安装有 204816 个文件和目录。)
正准备解包 .../xclip_0.12+svn84-4+b1_amd64.deb  ...
正在解包 xclip (0.12+svn84-4+b1) ...
正在设置 xclip (0.12+svn84-4+b1) ...
正在处理用于 man-db (2.7.6.1-2) 的触发器 ...
netlogin@aztec:~$ which xclip
/usr/bin/xclip

  第一行命令查询是否安装了 xclip 。

基础使用

假设你要将文件的内容复制到剪贴板。在 xclip 中可以使用两种方法。输入:


xclip file_name

或者


xclip -sel clip file_name

两个命令之间有什么区别(除了第二个命令更长)?第一个命令在你使用鼠标中键粘贴的情况下有效。但是,不是每个人都这样做。许多人习惯使用右键单击菜单或按 Ctrl+V 粘贴文本。如果你时其中之一(我就是!),使用 -sel clip 选项可确保你可以粘贴要粘贴的内容。

将 xclip 与其他应用一起使用

将文件内容直接复制到剪贴板是个巧妙的技巧。很可能你不会经常这样做。还有其他方法可以使用 xclip,其中包括将其与另一个命令行程序结合。

结合是用管道(|)完成的。管道将一个命令行程序的输出重定向到另一个命令行程序。这样我们就会有更多的可能性,我们来看看其中的三个。

假设你是系统管理员,你需要将日志文件的最后 30 行复制到 bug 报告中。在文本编辑器中打开文件,向下滚动到最后,复制和粘贴有一点工作量。为什么不使用 xclip 和 tail 来快速轻松地完成?运行此命令以复制最后 30 行:


tail -n 30 logfile.log | xclip -sel clip

我的写作有相当一部分用于内容管理系统 (CMS) 或者在其他网络中发布。但是,我从不使用 CMS 的 WYSIWYG 编辑器来编写 - 我采用 Markdown 格式离线编写 纯文本 。也就是说,许多编辑器都有 HTML 模式。通过使用此命令,我可以使用 Pandoc 将 Markdown 格式的文件转换为 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 做的事么?当然不是。我相信你可以找到更多用途来满足你的需求。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有