菜鸟科技网

xclip命令如何使用?

xclip 是一个在类 Unix 系统(如 Linux)上非常实用的命令行工具,它的核心功能就是将命令行的标准输入 或文件内容,复制到 X Window 系统的剪贴板 中,反之亦然,它就是命令行与图形界面剪贴板之间的桥梁

xclip命令如何使用?-图1
(图片来源网络,侵删)

安装

在使用之前,你需要确保系统上已经安装了 xclip,你可以使用以下命令进行安装:

  • 在基于 Debian/Ubuntu 的系统上:

    sudo apt-get update
    sudo apt-get install xclip
  • 在基于 Red Hat/CentOS/Fedora 的系统上:

    sudo yum install xclip
    # 或者对于较新的系统 (使用 dnf)
    sudo dnf install xclip
  • 在基于 Arch Linux 的系统上:

    xclip命令如何使用?-图2
    (图片来源网络,侵删)
    sudo pacman -S xclip

核心功能与常用选项

xclip 的主要用法分为两大类:复制到剪贴板从剪贴板粘贴

A. 复制到剪贴板

这是 xclip 最常用的功能,将命令的输出或文件内容存入剪贴板。

基本语法

# 将命令的输出复制到剪贴板
command | xclip
复制到剪贴板
xclip filename

常用选项

  • -selection: 指定要操作的剪贴板区域,这是最重要的选项之一。

    • primary: 主选择区,这是通过鼠标中键点击来粘贴的区域,当你用鼠标选中一段文本时,这段文本就已经被“复制”到了 primary 选择区,这是默认选项。
    • clipboard: 剪贴板区,这是我们通常所说的“复制”(Ctrl+C)和“粘贴”(Ctrl+V)操作的区域,如果你想通过 Ctrl+V 来粘贴,就必须使用这个选项。
    • secondary: 次要选择区,较少使用。
  • -i--in: 从标准输入读取数据,这是默认行为,echo "hello" | xclipecho "hello" | xclip -i 效果一样,但使用 -i 可以让意图更清晰。

  • -o--out: 从剪贴板输出数据(用于粘贴,见下一节)。

  • -r--cut: 执行“剪切”操作,而不是“复制”,这会清空剪贴板原有内容。

  • -selection clipboard -r: 剪切内容到系统剪贴板。

实用示例

  1. 复制命令输出到系统剪贴板(用于 Ctrl+V 粘贴)

    # 复制当前工作目录的完整路径
    pwd | xclip -selection clipboard
    # 复制系统的 IP 地址
    hostname -I | xclip -selection clipboard
    # 复制一个文件的内容
    xclip -selection clipboard my_document.txt
  2. 复制命令到系统剪贴板(方便直接粘贴到终端执行) 这是一个非常酷的技巧!你想把一个复杂的命令复制下来,以便之后粘贴执行。

    # 将一个 docker 命令复制到剪贴板
    echo "docker run -it --rm ubuntu /bin/bash" | xclip -selection clipboard

    你就可以在任何地方按 Ctrl+V 粘贴这个完整的命令了。

  3. 复制文件内容到主选择区(用于鼠标中键粘贴)

    # 复制一个文件的内容,之后在文本编辑器中用鼠标中键点击即可粘贴
    xclip -i my_log.log

B. 从剪贴板粘贴

xclip 也可以作为粘贴命令,将剪贴板中的内容输出到标准输出,然后你可以用重定向符 > 保存到文件,或者用管道 交给其他命令处理。

基本语法

# 从剪贴板粘贴内容到终端
xclip -o -selection clipboard
# 从剪贴板粘贴内容并保存到文件
xclip -o -selection clipboard > my_pasted_content.txt
# 从剪贴板粘贴内容并通过管道传递给其他命令
xclip -o -selection clipboard | grep "error"

实用示例

  1. 将剪贴板中的内容保存为文件

    # 假设你之前用 Ctrl+C 复制了一段文本
    xclip -o -selection clipboard > new_file.txt
  2. 在终端中查看剪贴板内容

    # 查看 primary 选择区的内容(通常是鼠标选中的文本)
    xclip -o
    # 查看 clipboard 选择区的内容(通常是 Ctrl+C 复制的文本)
    xclip -o -selection clipboard

高级用法与别名

xclipxsel

xclip 有一个功能非常相似的工具叫做 xsel,两者用法大同小异,很多用户会选择其中一个或两个都安装。xsel 的语法有时被认为更简洁一些。

  • xclip -selection clipboardxsel -b
  • xclip -selection primaryxsel -p

创建有用的别名

为了方便使用,你可以在 ~/.bashrc~/.zshrc 文件中创建一些别名。

# 打开配置文件
nano ~/.bashrc
# 在文件末尾添加以下别名
# 复制到剪贴板 (用于 Ctrl+V)
alias cb='xclip -selection clipboard'
# 从剪贴板粘贴
alias pb='xclip -selection clipboard -o'
# 复制文件到剪贴板
alias cfb='xclip -selection clipboard -i'
# 从剪贴板粘贴并保存到文件
alias pbf='xclip -selection clipboard -o >'

添加后,执行 source ~/.bashrc 使其生效,然后你就可以使用这些简短的别名了:

# 复制当前目录
pwd | cb
# 粘贴剪贴板内容到文件
pb > pasted.txt

功能 命令 说明
复制命令输出到系统剪贴板 command \| xclip -selection clipboard 用于之后在图形界面中用 Ctrl+V 粘贴
复制文件到系统剪贴板 xclip -selection clipboard filename
复制到主选择区 command \| xclip 用于之后用鼠标中键粘贴
从系统剪贴板粘贴到终端 xclip -o -selection clipboard 查看或处理剪贴板内容
从剪贴板保存到文件 xclip -o -selection clipboard > file.txt
复制命令本身 echo "command" \| xclip -selection clipboard 非常实用,方便粘贴执行复杂命令

xclip 虽然小,但功能强大,是 Linux 终端用户提升效率的必备神器之一,熟练掌握它,能让你的命令行操作更加流畅和高效。

分享:
扫描分享到社交APP
上一篇
下一篇