当前位置: 首页 > article >正文

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

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

使用场景

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

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

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

http://www.kler.cn/a/510230.html

相关文章:

  • 4 AXI USER IP
  • 《Vue3 九》动画
  • 国产编辑器EverEdit -重复行
  • 如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南
  • postcss插件-实现vw适配
  • SDL2基本的绘制流程与步骤
  • 大语言模型的语境中“越狱”和思维链
  • 最新-CentOS 7安装Docker容器(适合本地和云服务器安装)
  • 统信V20 1070e X86系统编译安装PostgreSQL-13.11版本以及主从构建
  • 嵌入式工程师必学(67):SWD仿真接口(for ARM)的使用方法
  • 在 Windows 上,如果忘记了 MySQL 密码 重置密码
  • 软考中级复习篇章:数据结构部分的复习
  • 2024年,我的技术探索与成长之路
  • Java(面向对象进阶——接口)
  • springboot基于微信小程序的停车场预订系统
  • 移远通信多模卫星通信模组BG95-S5获得Skylo网络认证,进一步拓展全球卫星物联网市场
  • 基于Java+MySQL实现在线作业提交系统
  • Android 上删除的短信存储在哪里 - 如何恢复
  • dl学习笔记:(4)简单神经网络
  • Java杂记:@TableField注解用法详解
  • HTTPS与HTTP:区别及安全性对比
  • Linux:指令大全(一)
  • Ubuntu把应用程序放到桌面
  • FastAPI 应用的容器化与 Docker 部署:提升性能与可扩展性
  • Java 静态导入:规则、实践与应用场景
  • 2,Linux文件基本属性(基于Ubuntu示例进行讲解)