OSX 的 Linux pbcopy 和 Linux 有什么区别

OSX 的 Linux pbcopy 和 Linux 有什么区别

在 OSX 的终端中,我可以将输出通过管道传输到 pbcopy,然后进入 Web 浏览器并粘贴。我尝试在 Linux 中使用 xcopy 来实现这一点,但当我切换到浏览器时,它只会用上次使用浏览器时的内容覆盖剪贴板。Linux 中 pbcopy 的工作原理是什么?

答案1

如果你安装了桌面版的Linux(X),你可以尝试xsel以下方法:

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

或者xclip

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

现在你可以使用它们:

echo 'go to my clipboard' | pbcopy

当我没有 XI 时,使用 GNU Screen 功能通过键盘在会话中打开的 shell 之间进行复制。

复制:

  • Ctrl-a
  • Esc
  • 前往所需职位 *
  • Space(开始选择)
  • 按下k前进标记文本
  • Enter

粘贴:

  • Ctrl-a+]

* 移动是通过类似 vim 的键绑定完成的 ( j, k, l& m)。

答案2

将一个名为 pbcopy 的脚本放入您的 bin 文件夹中:

#!/bin/bash
xclip -i -sel c -f |xclip -i -sel p

这会将 STDIN 放入您的选择缓冲区和剪贴板中:

echo Hello world |pbcopy

答案3

这个答案是指适用于 Windows 的 Linux 子系统。

简短回答:使用它就clip.exe像是pbcopy为了将某些内容放入 Windows 剪贴板一样。这很神奇。例如,echo "Hello Windows" | clip.exe在您的 bash 或 Ubuntu bash 终端中,然后在 Windows 程序中按“ctrl-v”。

更多背景信息:

上面的评论export DISPLAY=:0我提到过,在 Windows 上使用 Xming 启用此功能时,在许多情况下,需要设置 DISPLAY 变量( ),然后xselxclip解决方案才能起作用。令人恼火的是,这种解决方案的工作方式不可靠且随机——从 Linux 粘贴到 Windows 时,ctrl-v按一到十次会导致剪贴板被粘贴(一次)(这是在我的 Windows 10 Surface Book 2 上)。不要浪费时间,使用clip.exe

注意:不要忘记.exe。否则 Ubuntu bash 会建议您安装 Linux 包geomview,而这并不是您想要的。

答案4

在 WSL2 中,有clipcopyclippaste,它们等同于pbcopypbpaste

相关内容