当前位置: 首页>>技术教程>>正文


如何将终端标准输出(stdout)传送到剪贴板?

, , ,

问题描述

例如,

假设我想列出文件夹的内容并直接将其粘贴到聊天窗口中供朋友查看。

我意识到我可以用ls > filename.txt创建一个包含这些内容的文件(filename.txt);然后我必须打开或打印文件并手动选择和复制文本块(这可能很烦人/乏味。)我显然也可以直接在终端窗口中选择和复制ls的输出。

简单地将标准输出传输到剪贴板会更快/更容易。

什么终端命令允许我这样做?

最佳解决办法

这可以使用xselxclip命令行实用程序完成。由于默认情况下这两个程序都没有附带Ubuntu,因此您需要先通过软件中心或终端安装它们。这是终端的方式(但请记住,你只需要这两个中的一个。)

command-line,clipboard,pipe,ubuntu

command-line,clipboard,pipe,ubuntu

sudo apt install xsel

sudo apt install xclip

现在举一些例子。如果您想将ls的输出复制到剪贴板,请执行以下操作:

使用xsel:ls | xsel -ib使用xclip:ls | xclip -sel clip

这当然也可以用于其他终端命令。假设您要将网络信息粘贴到帮助论坛中。

使用xsel:sudo lshw -C network | xsel -ib使用xclip:sudo lshw -C network | xclip -sel clip

使用新的bash别名让这更容易!

编辑您的~/.bash_aliases文件(如果它不存在,但首先使用touch ~/.bash_aliases创建它)

然后添加以下内容(取决于您决定使用的程序):

alias copy='xclip -sel clip'~或~alias copy='xsel -ib'

然后保存并关闭。

现在(重新启动终端后)您可以将标准输出发送到剪贴板,只需将其输送到’copy'(或者您决定命名新别名的任何内容)

例如:ls | copy

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1043.html,未经允许,请勿转载。