xclip和xsel命令行工具详解

   xclipxsel 是 Linux 环境下常用的命令行工具,用于与系统剪贴板交互。它们可以从剪贴板读取数据,也可以向剪贴板写入数据,适用于文本或文件的剪贴板操作。以下是详细说明:


1. xclip

安装

        在 Ubuntu 或其他基于 Debian 的系统中安装:

sudo apt install xclip 
常用命令
  • 复制文本到剪贴板 将文件内容复制到系统剪贴板:

    xclip -sel clip < 文件名 

    或直接输入文本:

    echo "Hello, Clipboard!" | xclip -sel clip 
  • 从剪贴板读取内容 将剪贴板内容打印到终端:

    xclip -sel clip -o 
  • 复制文件内容到 X 选择缓冲区

    xclip < 文件名 
  • 从 X 选择缓冲区读取内容

    xclip -o 
参数详解
  • -sel clip:指定操作系统的剪贴板(“clip” 指 Clipboard)。
  • -o:读取剪贴板内容并输出到标准输出。
  • -f:输出数据时保持标准输入打开。
  • -i:从标准输入写入到剪贴板(默认)。
  • -t:指定数据类型(MIME 类型,如 text/plainimage/png)。

2. xsel

安装

在 Ubuntu 中安装:

sudo apt install xsel 
常用命令
  • 复制文本到剪贴板

    echo "Hello, Clipboard!" | xsel --clipboard --input 

    或从文件复制:

    xsel --clipboard --input < 文件名 
  • 从剪贴板读取内容

    xsel --clipboard --output 
  • 清空剪贴板

    xsel --clipboard --clear 
  • 与 X 选择缓冲区交互

    • 写入到选择缓冲区:
      echo "Text" | xsel --primary --input 
    • 从选择缓冲区读取:
      xsel --primary --output 
参数详解
  • --clipboard:操作系统剪贴板(类似于 xclip -sel clip)。
  • --primary:操作 X 选择缓冲区(选择内容即可复制的缓冲区)。
  • --secondary:操作辅助缓冲区(很少用)。
  • --input:从标准输入写入剪贴板。
  • --output:从剪贴板读取并输出到终端。
  • --clear:清空指定缓冲区。

对比 xclipxsel

功能 xclip xsel
剪贴板操作 支持多种缓冲区(剪贴板、选择缓冲区) 同样支持多种缓冲区
参数简洁性 参数略复杂,但更灵活 参数相对简单直观
输出模式 需要使用 -o 参数输出 默认支持 --output 输出
依赖性 依赖 X 环境 同样依赖 X 环境

使用场景

  • 如果你需要脚本化与剪贴板交互,xclipxsel 都是不错的选择。
  • 推荐:根据个人习惯选择工具;xclip 通常稍微功能更强大,而 xsel 使用更直观。

例如,在虚拟机与主机间传递文本时:

  1. 在主机中生成文本并保存到文件。
  2. 在虚拟机中使用 xclip -sel clipxsel --clipboard --input 复制文本到剪贴板。

你可能感兴趣的:(Linux,国产化,信管通,chrome,前端,linux,运维)