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

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

内容

  1. 什么是 Xclip 和 Xsel 程序?
  2. 在 Linux 中安装 Xclip 和 Xsel
  3. 使用 Xclip 和 Xsel 操作和访问剪贴板内容
    1. 1. Xclip 命令示例
      1. 1.1. 使用 Xclip 将数据复制到剪贴板
      2. 1.2. 使用 Xclip 将数据从剪贴板粘贴到控制台
      3. 1.3. 使用 Xclip 将数据从剪贴板粘贴到文件
    2. 2. Xsel 命令示例
      1. 2.1. 使用 Xsel 将数据复制到剪贴板
      2. 2.2. 使用 Xsel 将数据从剪贴板粘贴到控制台
      3. 2.3. 使用 Xsel 将数据从剪贴板粘贴到文件
      4. 2.4. 使用 Xsel 清除剪贴板

什么是 Xclip 和 Xsel 程序?

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

笔记:

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

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

借助 Xclip 和 Xsel 程序,我们可以轻松模仿 复制 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 上:

$ 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 主要选择区域(即剪贴板)。 同样,您可以将任何其他命令的输出复制/发送到剪贴板。 这是另一个例子:

$ 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 (主要选择)代替 -b (剪贴板):

$ xsel -op

2.4. 使用 Xsel 清除剪贴板

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

$ xsel -cb

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

$ man xsel

希望这可以帮助。

剪贴板LinuxLinux基础Linux命令Linux howtoLinux tipsxclipxsel