首页 > 系统教程 > 操作系统 > 如何从Linux中的命令行管理剪贴板

如何从Linux中的命令行管理剪贴板

Joseph Gordon-Levitt
发布: 2025-03-14 10:55:09
原创
552 人浏览过

How To Manage Clipboard From Command Line In Linux

Linux 系统的剪贴板是用于临时存储复制粘贴数据的区域。复制文本或其他数据后,这些数据会进入剪贴板,然后您可以将其粘贴到其他位置。剪贴板仅保存您最后复制的项目。高效管理剪贴板有助于避免错误并保持工作井然有序。本指南详细介绍如何在 Linux 命令行中管理剪贴板。

目录

  • 安装剪贴板管理工具
    • 安装 xclip
    • 安装 xsel
  • 在 Linux 命令行中管理剪贴板
      1. 查看剪贴板内容
      1. 清空剪贴板
      1. 将数据复制到剪贴板
      1. 从剪贴板粘贴数据
  • 不同选择中的剪贴板
  • 高级用法
      1. 将文件内容复制到剪贴板
      1. 将剪贴板内容重定向到文件
      1. 使用多个剪贴板
      1. 剪贴板持久性
      1. 剪贴板监控
  • 实用示例
      1. 创建快速粘贴区
      1. 带时间戳的剪贴板到文件
      1. 剪贴板历史记录
  • 故障排除
  • 总结

剪贴板管理工具

在 Linux 中管理剪贴板的两个常用工具是 xclip 和 xsel。这两个工具都允许您查看、清除和操作剪贴板内容。

安装剪贴板管理工具

安装 xclip

许多 Linux 发行版的默认存储库中都提供 Xclip 和 Xsel。因此,您可以使用默认的包管理器安装它们。

例如,您可以使用以下命令在 Debian 和 Ubuntu 系统上安装 xclip:

<code>sudo apt install xclip</code>
登录后复制

安装 xsel

要安装 xsel,请使用以下命令:

<code>sudo apt install xsel</code>
登录后复制

在 Linux 命令行中管理剪贴板

1. 查看剪贴板内容

使用 xclip:

要使用 xclip 查看剪贴板的内容,请使用:

<code>xclip -selection clipboard -o</code>
登录后复制
登录后复制

此命令将剪贴板的当前内容输出到终端。

使用 xsel:

要使用 xsel 查看剪贴板的内容,请运行:

<code>xsel --clipboard --output</code>
登录后复制
登录后复制

或者,只需:

<code>xsel --clipboard</code>
登录后复制

此命令显示剪贴板的当前内容。

2. 清空剪贴板

使用 xclip:

要使用 xclip 清空剪贴板,请使用:

<code>xclip -selection clipboard /dev/null</code>
登录后复制

此命令清空剪贴板。

使用 xsel:

要使用 xsel 清空剪贴板,请运行:

<code>xsel --clipboard --clear</code>
登录后复制

此命令有效地清除了剪贴板内容。

3. 将数据复制到剪贴板

使用 xclip:

要使用 xclip 将数据复制到剪贴板,您可以回显数据并将其通过管道传递给 xclip。例如:

<code>echo "Hello, OSTechNix Users!" | xclip -selection clipboard</code>
登录后复制

此命令将“Hello, OSTechNix Users!”复制到剪贴板。

使用 xsel:

要使用 xsel 将数据复制到剪贴板,您可以使用类似的方法:

<code>echo "Hello, OSTechNix Users!" | xsel --clipboard</code>
登录后复制

此命令也将“Hello, OSTechNix Users!”复制到剪贴板。

4. 从剪贴板粘贴数据

粘贴数据与查看相同。为了便于理解,我已经包含了这一点。

使用 xclip:

要使用 xclip 粘贴剪贴板内容,您可以运行:

<code>xclip -selection clipboard -o</code>
登录后复制
登录后复制

此命令输出剪贴板内容,您可以将其重定向或用于脚本中。

使用 xsel:

要使用 xsel 粘贴剪贴板内容,请运行:

<code>xsel --clipboard --output</code>
登录后复制
登录后复制

此命令显示剪贴板内容。

不同选择中的剪贴板

与通常只有一个剪贴板的 Windows 不同,Linux 支持多个剪贴板选择。它们是:

  • PRIMARY(选定的文本)
  • SECONDARY(很少使用)
  • CLIPBOARD(Ctrl C、Ctrl V 操作)

默认情况下,xclip 和 xsel 使用 CLIPBOARD 选择。您可以根据需要指定不同的选择。

使用 xclip:

  • 主要选择:xclip -selection primary
  • 次要选择:xclip -selection secondary
  • 剪贴板选择:xclip -selection clipboard

使用 xsel:

  • 主要选择:xsel --primary
  • 次要选择:xsel --secondary
  • 剪贴板选择:xsel --clipboard

高级用法

1. 将文件内容复制到剪贴板

要将文件内容复制到剪贴板,您可以使用:

使用 xclip:

<code>xclip -selection clipboard </code>
登录后复制

使用 xsel:

<code>xsel --clipboard </code>
登录后复制

2. 将剪贴板内容重定向到文件

要将剪贴板内容保存到文件,请使用:

使用 xclip:

<code>xclip -selection clipboard -o > output.txt</code>
登录后复制

使用 xsel:

<code>xsel --clipboard --output > output.txt</code>
登录后复制

3. 使用多个剪贴板

将内容复制到 PRIMARY 选择:

<code>echo "Primary Selection" | xclip -selection primary</code>
登录后复制

将内容复制到 SECONDARY 选择:

<code>echo "Secondary Selection" | xclip -selection secondary</code>
登录后复制

4. 剪贴板持久性

默认情况下,xclip 会立即退出,这可能会导致剪贴板内容丢失。要使其保持运行:

<code>echo "Persistent clipboard" | xclip -selection clipboard -loops 0</code>
登录后复制

这将使 xclip 保持运行,直到您手动终止它。

5. 剪贴板监控

要持续监控剪贴板更改:

<code>watch -n 1 "xclip -selection clipboard -o"</code>
登录后复制

此命令将每秒显示一次剪贴板内容。

实用示例

1. 创建快速粘贴区

alias pb="xclip -selection clipboard"
cat file.txt | pb
登录后复制

现在您可以使用 cat file.txt | pb 快速将文件内容复制到剪贴板。

2. 带时间戳的剪贴板到文件

xclip -selection clipboard -o > clipboard_$(date  %Y%m%d_%H%M%S).txt
登录后复制

这会将当前剪贴板内容保存到一个带有当前时间戳的文件中。

3. 剪贴板历史记录

要维护简单的剪贴板历史记录:

echo "$(xclip -selection clipboard -o)" >> ~/.clipboard_history
登录后复制

将此添加到您的 .bashrc 或创建一个 cron 作业 以定期保存剪贴板内容。

故障排除

  1. 如果 xclip 或 xsel 命令失败,请确保您在 X11 会话中运行它们。
  2. 对于无头服务器,您可能需要使用虚拟帧缓冲区,例如 Xvfb。
  3. 如果剪贴板内容意外丢失,请检查是否有任何剪贴板管理器正在干扰。

总结

使用 xclip 和 xsel 等工具,在 Linux 命令行中管理剪贴板非常简单。您可以轻松查看、清除、复制和粘贴剪贴板内容。此外,您可以处理不同的剪贴板选择并使用文件内容。

掌握 xclip 和 xsel 命令将帮助您有效地管理剪贴板并防止意外粘贴。此外,掌握 Linux 命令行中的剪贴板管理可以提高生产力并实现强大的脚本功能。

虽然 xclip 和 xsel 是主要的工具,但许多桌面环境也提供自己的剪贴板管理器,并具有其他功能。

请记住,Linux 中的剪贴板操作通常与 X 服务器会话相关联。对于系统范围或跨会话的剪贴板管理,请考虑使用专用的剪贴板管理器应用程序。


特色图片来自 Pixabay 的 Mohamed Hassan。

以上是如何从Linux中的命令行管理剪贴板的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板