我们都知道这句话:在 Linux 中,一切皆文件。
我的问题是:Linux 中如何处理剪贴板?它是一个可访问且明确的文件吗?例如,是否可以用 cat 读取它或使用重定向写入它?(假设您有足够的权限)
如果我的假设是正确的,那么它位于哪里,并且它是否特定于实现分布?
答案1
不可以,除非您有第三方程序将剪贴板的内容复制到某个文件中。
您似乎对 Linux 中的剪贴板缺乏了解。通常有 3 个剪贴板可供用户使用。
这些剪贴板被称为“选择”
有:
- PRIMARY - 通常用于鼠标中键 = 复制/粘贴
- SECONDARY - 通常不怎么使用,但确实存在。通常作为应用程序内特定的复制和粘贴。
- 剪贴板-通常是Ctrl+c和Ctrl+v样式的复制和粘贴。
默认情况下,它们都存储在控制应用程序的内存中(通常是 Xorg,但并非总是如此)。并且每个子应用程序都可以访问它。
剪贴板监视器和管理器可以监视剪贴板并将其内容存储在文件中,或者更常见的是,让您查看剪贴板历史记录。
以下是一些有趣的信息剪贴板上的 archlinux wiki
历史
在 X10 中,引入了剪切缓冲区。这些是存储任意文本的有限缓冲区,大多数应用程序都会使用它们。但是,它们效率低下,并且实现方式各不相同,因此引入了选择。剪切缓冲区早已被弃用,尽管某些应用程序(例如 xterm)可能对它们有旧版支持,但不太可能也不建议使用它们。
选择
基本的
用于当前选定的文本(即使未明确复制)以及鼠标中键单击粘贴。在某些情况下,也可以使用键盘快捷键进行粘贴。
剪贴板
用于涉及键盘快捷键或菜单项的显式复制/粘贴命令。因此,它的行为类似于 Windows 上的单剪贴板系统。与 PRIMARY 不同,它还可以处理多种数据格式。
大多数项目韓國, 包括Qt和GTK+应用程序,请遵循此行为。虽然国际商会联合会还定义了一个 SECONDARY 选择,但它没有一致同意的用途。尽管有这样的名字,但所有三个选择基本上都是“剪贴板”。与旧的“剪切缓冲区”系统不同,在旧系统中,任意应用程序都可以修改存储在剪切缓冲区中的数据,一次只有一个应用程序可以控制或“拥有”一个选择。这可以防止选择操作不一致。
查看键盘快捷键页面其中列出了许多程序中的默认快捷方式。
同样重要的是要意识到,根据选择协议,没有任何内容是被复制的直到粘贴为止。例如,如果您在终端窗口中选择某个单词,关闭终端,然后想将其粘贴到其他地方,这将无法工作,因为终端消失了,文本没有被复制到任何地方。如果您想在关闭终端窗口后保留该单词,请考虑安装剪贴板管理器。
笔记:剪贴板管理器可以显著改变用户体验,例如他们可以同步 PRIMARY 和 CLIPBOARD 选择来模拟单剪贴板系统。