在 Linux 中使用 Xclip 和 Xsel 访问剪贴板内容

在本指南中,我们将了解 Xclip 和 Xsel 程序是什么,以及如何在 Linux 中使用 Xclip 和 Xsel 程序操作和访问剪贴板内容。

什么是 Xclip 和 Xsel 程序?

剪辑 是 X 选择的命令行界面,即 剪贴板. Xclip 从一个或多个文件中读取数据并将数据作为 X 选择提供,以便将数据粘贴到 X 应用程序中。 如果没有指定文件,它会从标准输入中读取数据。 它还可以将 X 选择打印到标准输出。

笔记:

在 Linux 中,剪贴板被称为 “选择” 并且有三种类型的剪贴板可用 X11 窗口系统。 它们是主要的、次要的和剪贴板。 有关剪贴板的更多详细信息,请查看此 关联.

Xsel 是一个命令行 X11 选择和剪贴板操作工具。 它用于访问 Linux 和类 Unix 操作系统中的 X 剪贴板和选择缓冲区。

借助 Xclip 和 Xsel 程序,我们可以轻松模仿 pbcopy pbpaste Linux 中的命令。 对于那些想知道的人,pbcopy 和 pbpaste 用于操作剪贴板,它们仅适用于 Mac OS X 平台。

在 Linux 中安装 Xclip 和 Xsel

Xclip 和 Xsel 程序可在大多数现代 Linux 发行版的官方存储库中找到。

在 Alpine Linux 上,运行以下命令来安装 Xclip 和 Xsel:

$ sudo apk add xclip xsel

要在 Arch Linux 及其变体如 Manjaro Linux 中安装 Xclip 和 Xsel,请运行:

$ sudo pacman xclip xsel

在 RHEL、CentOS、AlmaLinux 和 Rocky Linux 上:

$ sudo dnf install epel-release
$ sudo dnf install xclip xsel

在 Fedora:

$ sudo dnf xclip xsel

在 Debian、Ubuntu、Pop!_OS、Linux Mint 上:

$ sudo apt install xclip xsel

在 openSUSE 上:

$ sudo zypper install xclip xsel

使用 Xclip 和 Xsel 操作和访问剪贴板内容

尽管 Xclip 和 Xsel 是相似的程序并且执行相同的工作,但它们的用法略有不同。 首先,让我们讨论一下 Xclip 程序的用法。

1. Xclip 命令示例

Xclip 处理 PRIMARY、SECONDARY 选择以及系统剪贴板。

1.1。 使用 Xclip 将数据复制到剪贴板

要使用 Xclip 将命令的输出复制到剪贴板,请运行:

$ echo "Welcome To OSTechNix" | xclip -selection clipboard

您还可以使用上述命令的简短版本:

$ echo "Welcome To OSTechNix" | xclip -sel c
使用 Xclip 将 Linux 命令的输出复制到剪贴板

这里, -sel 代表 -selectionc 代表 clipboard.

按照上面的命令,Xclip 复制了从 echo 命令,即“欢迎使用 OSTechNix”,到 X11 主要选择区域(即剪贴板)。 同样,您可以将任何其他命令的输出复制/发送到剪贴板。 这是另一个 example:

$ uname -r | xclip -sel c

在上面的示例中,我们将 stdin 的输出复制到剪贴板缓冲区。 文件的内容呢? 这也是可能的。

使用复制文件内容到剪贴板 Xsel 命令,运行:

$ xclip -selection clipboard < ostechnix.txt

或者很快使用这个:

$ xclip -sel c < ostechnix.txt

上述命令不会显示文件的内容。 相反,他们只会将文件内容复制到系统剪贴板。 您可以在此阅读有关将文件内容复制到剪贴板的更多详细信息 关联.

1.2. 使用 Xclip 将数据从剪贴板粘贴到控制台

我们现在知道如何将数据从标准输出和文件复制到剪贴板。 如何从剪贴板中检索复制的数据? 这很简单! 运行以下命令将系统剪贴板的内容粘贴到控制台:

$ xclip -o -sel clip

或者,

$ xclip -o -sel c

如果要粘贴的内容 X11初选 区域到控制台,运行:

$ xclip -o

1.3. 使用 Xclip 将数据从剪贴板粘贴到文件

除了显示(粘贴)剪贴板的内容,您还可以直接将系统剪贴板或 X11 主选择区域的内容粘贴到如下文件中:

$ xclip -o -sel clip > output_file.txt

或者,

$ xclip -o > output_file.txt

单人 ">" 标记将覆盖输出文件的现有内容。 您可以使用 double 将数据简单地附加到输出文件中,而不是覆盖 ">>" 符号。

$ xclip -o >> output_file.txt

有关详细信息,请参阅 Xclip 手册页:

$ man xclip

2.xsel命令示例

默认情况下,Xsel 对 X PRIMARY 选择进行操作,除非您专门指定 X 选择。

2.1。 使用 Xsel 将数据复制到剪贴板

要使用 Xsel 将命令的输出复制到剪贴板,请运行:

$ echo "Welcome To OSTechNix" | xsel -ib

上述命令从 STDIN 读取并保存到剪贴板; 仿佛 Ctrl + C.

要将文件内容复制到剪贴板,请运行:

$ cat input_file.txt | xsel -ib

这里, i 表示输入和 b 表示剪贴板。

您还可以使用以下命令:

$ xsel --clipboard < input_file.txt

或者,很快使用这个:

$ xsel -b < input_file.txt

再次, -b 表示剪贴板。

使用 Xsel 将数据复制到剪贴板

2.2. 使用 Xsel 将数据从剪贴板粘贴到控制台

在终端中粘贴或显示剪贴板的内容(相当于 Ctrl + V), 跑:

$ xsel -ob

这里, o 代表输出和 b 表示剪贴板。

2.3. 使用 Xsel 将数据从剪贴板粘贴到文件

要将剪贴板的内容粘贴到文件中:

$ xsel -ob > output_file.txt

如果您不想覆盖输出文件的现有内容,只需使用 double 追加数据 ">>" 如下符号:

$ xsel -ob >> output_file.txt

如果要将 X11 主选择的内容粘贴到终端(相当于鼠标中键),请使用 -p (PRIMARY 选择)改为 -b (剪贴板):

$ xsel -op

2.4. 使用 Xsel 清除剪贴板

要清除剪贴板的内容,请运行:

$ xsel -cb

有关详细信息,请参阅 Xsel 手册页:

$ man xsel

结论

在本指南中,我们通过 Linux 和类 Unix 操作系统中的示例讨论了如何使用 Xclip 和 Xsel 程序操作和访问剪贴板内容。

希望这可以帮助。