命令行剪贴板复制和粘贴实用程序?


127

在Windows中,我使用了命令行剪贴板复制和粘贴实用程序...

  • pclip.exegclip.exe

这些是Windows的UnixUtils端口(但它们仅处理纯文本)。还有其他几个本机 Windows实用程序,可以写入/提取任何格式。

我在Synaptic Package Manager中寻找了类似的东西,但找不到任何东西。

有没有我想念的东西?...或者也许这在Bash脚本中可用?

我想要的实用程序类型将能够通过std-in / std-out或file-in / file-out进行读取/写入,并能够处理Unicode,Rich Text Format,图片等剪贴板格式...

注意:我不追求剪贴板管理器。


请参阅从unix.SE相关的问题:unix.stackexchange.com/questions/30093/...
landroni


vim[enter]"+P :3 (运行vim,然后从" register 运行-即系统剪贴板-粘贴文本)。这样一来,您就可以掌握最佳的文本编辑器(其中之一),因此可以:w filename。另外,我总是在tmux中运行vim,这意味着如果我需要将一些文本复制到终端上,我只需选择(带有或选择行),然后选择(将其拖动或复制到剪贴板),然后进行新的复制。 tmux窗格,可以按<ctrl> + <shift> + v进行粘贴。此外,如果需要将剪贴板写入文件,我会谨慎使用。干杯^ u ^vV"+yxsel -b > filename
dylnmc '16

Answers:


131

我正在使用xsel 安装xsel,但仅将其与纯文本和unicode文本一起使用。


xsel可以复制并粘贴到三个不同的“剪贴板”。默认情况下,它使用X Window System主选择,基本上是当前选择中的任何内容。X Window系统还具有一个辅助选择(使用不多)和一个剪贴板选择。您可能正在寻找剪贴板选择,因为这是桌面环境(例如Gnome,KDE,XFCE)用于剪贴板的内容。要将其与xsel一起使用:

xsel --clipboard < new-clipboard-contents.txt
xsel --clipboard > current-clipboard-contents.txt

1
Adi ... xsel似乎只是基于文本的(如您所述),所以我将寻找更全面的实用程序...但是,阅读其信息文档对我来说非常有趣...我知道(在终端中)单击鼠标中键会将当前选定的文本粘贴到命令行中,但是我没有意识到此功能适用于大多数X应用程序。通过单击鼠标中键粘贴(但是某些应用程序似乎将其覆盖)。两个剪贴板!..非常方便..我必须阅读有关第三个X选择缓冲区的更多信息。
Peter.O 2010年

xsel确实可以处理Unicode文本。您可以在freedesktop Wiki页面上阅读有关X剪贴板的更多信息:freedesktop.org/wiki/Specifications/ClipboardsWiki
Adi Roiban

我得把这个新信息弄清楚。3个剪贴板!PRIMARY,SECONDARY,CLIPBOARD ...这与我在Windows中使用的非常不同...第三个“ CLIPBOARD”似乎与Windows / Mac剪贴板相同...但是可笑的是在这里晚了..明天我会回到这个……(有点儿生气,但现在已经读
不完了

谢谢... xsel(文字工作)...其他格式可能会出现问题。
Peter.O 2010年

6
xsel -b是的缩写xsel --clipboard
Andrei Duma 2015年

85

xclip 安装xclip可能是您的选择之一。

cat samples.sh | xclip -sel clip

您还可以使用别名在.bashrc文件中进行设置。

alias clipboard='xclip -sel clip'

将二进制数据粘贴到文件中的关键xclip是告诉剪贴板上有哪些媒体类型。对于PNG,您可以:

xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

因此,现在~/Dropbox/.mybashrc;),您可以添加一个别名(clipboard2photo)轻松粘贴到图像文件中(也许有一天我们会在Nautilus上使用它)。


这看起来不错,但我只是没有机会研究它,但是...我会尽快做到的……
Peter.O 2010年

xclip也仅处理文本选择。
史蒂夫·比蒂

2
此外,命令可能短至xclip -se c
Jeromy Anglim

1
我不明白为什么这不在手册页中
Sergiy Kolodyazhnyy 2015年

1
尝试将图像粘贴到文件时收到错误消息:target image / png不可用
EmilioNicolás2016年

12

白云母

我已经使用parcellite多年,担任剪贴板经理。它在“通知”区域中运行,并提供了许多用于管理“主要选择”和标准freedesktop.org剪贴板的选项。

任务栏图标

这是我管理剪贴板项目的答案。

首选项


这看起来像是一个很好的面板应用程序。“动作”很方便……但是不幸的是,它不是我要寻找的工具类型。也许我以后确切的事情是一个不起眼的Python脚本,等等......有几个非常好的本土仅Windows实用程序可用,所以我觉得等同将在Ubuntu的某处飘来飘去/ Linux世界...
Peter.O 2010年

仅供参考,Parcellite具有很酷的功能-复制文本的历史记录。要从历史记录对话框激活自动粘贴,您还应该install xdotool
Noam Manos 18'Jan

10

我最近遇到的工具来了xclip-copyfilexclip-cutfilexclip-pastefile(包xclip)。这些工具使您可以通过命令行复制/剪切/粘贴整个文件。

您可以在此处查看他们的手册页



3

您可以为此使用CopyQ。从网站:

具有高级功能的剪贴板管理器

  • CopyQ是具有可搜索和可编辑历史记录的剪贴板管理器。
  • 支持Linux和Windows。
  • 对OS X 10.9+的实验支持。
  • 存储文本,HTML,图像和任何其他自定义格式。
  • 高级命令行界面和脚本。

要复制文本文件:

copyq action "cat /tmp/file.txt" "" && copyq select 0

要复制图像(您需要指出MIME类型):

copyq write image/png - < file.png && copyq select 0

要复制数据文件(您需要指出MIME类型):

copyq write application/pdf - < file.pdf && copyq select 0

查看他们的Wiki以获取更多文档和用法示例

您可以通过ppa:noobslab / indicators PPA 进行安装,也可以.deb从项目的“ 下载”部分手动下载最新稳定版的预打包文件。


1
PPA并不是最新的,至少对于Ubuntu 16.04而言,最好直接从CopyQ的GitHub版本下载。
Nicolai


2

糊状

最近发布了具有指标Applet支持的新剪贴板管理器(尽管尚未在归档文件中)。除了跟踪文本剪贴板历史记录之外,它还将捕获并保存数据剪贴板条目(文件,文件夹等),如果您通过GUI /剪贴板环境大量操作文件,这可能会很有用。

替代文字

您可以添加以下PPAppa:hel-sheep/pastie


感谢Marco的建议,但我不需要剪贴板管理器。有时,我会将一些临时文本粘贴到文本文件中,但实际上我发现“历史记录管理器”会使速度变慢(但这仅仅是我的意思。)。我真的很喜欢命令行工具,该工具可以选择性地提取/存储我假定Ubuntu剪贴板类似于Windows剪贴板(如果它与众不同,我会大吃一惊,因为用户在任何平台上的要求都是相同的),我想这是Ubuntu剪贴板的一种特定格式。确保有人会发现您的建议有用。
Peter.O 2010年


1

GPaste守护程序设置(具有DBus界面的剪贴板管理守护程序小程序)如何:

  • GPaste是用Vala编写的GNOME剪贴板管理套件
  • GPaste设置外观已更新,以更好地适应最新的GNOME
  • 守护进程现在完全平衡(不再轮询,更少的功耗)
  • GPasteClipboard现在具有“所有者更改”信号,类似于GtkClipboard的信号
  • 新设置可设置历史记录中的数据使用的最大内存量
  • FIFO模式已删除(缺少设计)
  • 代码清理和现代化
  • g_paste_history_add现在已完全传输
  • g_paste_keybinder_add_keybinding现在已完全传输

安装:

要在安装的Ubuntu 13.1013.0412.1012.04,使用下面的命令:

sudo add-apt-repository ppa:webupd8team/gnome3
sudo apt-get update
sudo apt-get install gnome-shell-extensions-gpaste

gpaste通过安装synaptic package manager(也gnome-shell-extensions-gpaste可以使用Gnome-Shell)进行安装。

另一个选择是通过进行安装software-center

在此处输入图片说明


1

我正在尝试开发一种不是剪贴板管理器的更好的解决方案,可从https://github.com/baitisj/copypasta找到。它目前还不能正确正确地处理RTF和HTML,并且大图像会带来问题,但您可以随意分叉并提交补丁。


1

对于RTF格式,我使用以下过程:我将文本复制到应用程序的剪贴板中。如果不确定是rtf还是什么,我可以使用以下命令进行验证:

xclip -selection clipboard -o -t TARGETS

当它打印出如下内容时:

目标

文字/ rtf

文字/富文字

因此我无法抗拒地大声喊道:“天哪,真是太好了!上帝保佑linux!” 在那次祷告之后,显而易见的事情如下:

xclip  -selection clipboard -o -t text/rtf > mypreciousRTFcontent.rtf

然后,我在libreoffice中处理所有内容,并将其作为垃圾邮件发送给我的所有朋友。

:-)


-1

就在这里。试试tmux哪个比screen。要安装tmux,请在终端中输入以下命令:

sudo apt-get install tmux

也尝试一下gpm。命令gpmtmux可能是一个很好的结合...


2
屏幕是一个多终端模拟器,而不是剪贴板管理器。
Marco Ceppi

屏幕tmux似乎只能在终端级别使用(我在他们的任何一个信息文档中都找不到对“剪贴板”的引用)...我正在寻找的是 系统范围的剪贴板复制和粘贴实用程序...我可能不应该将终端用作标记...我想要的实用程序类型将能够通过std-in / std-out或file-in / file-out进行读取/写入,并能够处理Unicode /富文本/图片/等剪贴板格式...
Peter.O 2010年

我刚刚找到了关于stackoverflow的参考... gpm是针对非X终端“剪贴板”的,也GNU screen有它自己的“剪贴板” ...现在我明白了为什么你提到它们了...这是很好的信息,并且它使我对幕后发生的事情有了更深入的了解……我现在将继续使用基本的Xterm“选择系统”(clipboad)。Linux“剪贴板”似乎与Windows截然不同,我一直在寻找的东西可能以一种非常不同的方式完成。+1 :)
Peter.O 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.