如何从命令行将 GNOME 终端上的输出复制到剪贴板。
我希望能够将控制台文本文件中的文本顺利粘贴到 Firefox 中。
答案1
这是一个老问题,但我认为它值得一个可行的答案。要么xsel 或 xclip可以完成这项工作。我个人更喜欢使用xsel
,因为它的语法更简洁。
echo "helloworld" | xsel -b
然后切换到某个应用程序并进行粘贴(使用 CTRL-V、粘贴选项等)。
就是这样!
如果你做相反的事情,在浏览器中复制一些文本并想要将其粘贴到终端中,该怎么办?(当然,你可以直接粘贴。)或者输入:
xsel -b # outputs "helloworld"
X 有 3 个不同的选择或剪贴板。“主要”选项是使用鼠标中键激活的选项。如果您不带任何参数调用xsel
或,就会得到这个xclip
选项。要访问用于复制/粘贴、CTRL-C/CTRL-V 等的“剪贴板”,需要-b
使用。
我建议您确实使用了-b
选项并与剪贴板进行交互,而不是 X11 中键单击“主要”选择 - 因为在从 X 过渡到 Wayland 时,对 X11“主要”选择的访问可能无法在 Gnome 或 Wayland 中保留。以下是相关的 Gnome Bugzilla 线程。
xsel
和都xclip
与 X 交互,而不是直接与 Gnome 交互,但只要您的显示管理器运行 XWayland(未来几年应该会这样),它们xsel -b
将继续工作并可安全用于脚本。没有什么是 100% 面向未来的,但xsel -b
目前还不错。
如果您更喜欢使用xclip
,则上述两个示例的等效语法是:
echo "helloworld" | xclip -selection c
xclip -o -selection c # outputs "helloworld"
答案2
您可以突出显示文本,然后右键单击并选择复制,或将其传输到 xclip:
一些命令 | xclip
xclip 可能可用,也可能不可用,具体取决于您的发行版。
答案3
您也可以只标记要复制的终端输出,它就会自动复制到剪贴板。
答案4
选择文本后,按Ctrl- Shift-C将其复制到剪贴板。Shift需要额外的键,因为Ctrl-C已经在 shell 中使用。同样,要粘贴,请按Ctrl- Shift- V。
您也可以直接选择它,然后在 Firefox 中单击鼠标中键来粘贴它。这将使用剪切缓冲区,它是与 clippoard 略有不同。
额外的 gnome-terminal 提示 -Ctrl单击一个 url 即可在您的默认浏览器中自动打开它。