如何在Linux上使用Pbcopy和Pbpaste命令

时间:2020-03-21 11:45:05  来源:igfitidea点击:

由于Linux和Mac OS X是基于* Nix的系统,因此许多命令都可以在两个平台上使用。
但是,某些命令可能在两个平台上均不可用,例如pbcopy和pbpaste。
这些命令仅在Mac OS X平台上才可用。
Pbcopy命令会将标准输入复制到剪贴板。
然后,我们可以在任意位置使用Pbpaste命令粘贴剪贴板内容。
当然,上述命令可能会有一些Linux替代品,例如Xclip。
Xclip实用程序类似于Pbcopy。
但是,从Mac OS切换到Linux的发行商可能会错过此命令对,而仍然喜欢使用它们。
不用担心!这个简短的教程描述了如何在Linux上使用Pbcopy和Pbpaste命令。

安装Xclip/Xsel

就像我已经说过的那样,Pbcopy和Pbpaste命令在Linux中不可用。
但是,我们可以通过shell别名使用Xclip和/或者Xsel命令来复制pbcopy和pbpaste命令的功能。
大多数Linux发行版的默认存储库中都提供Xclip和Xsel软件包。
请注意,我们不需要安装两个实用程序。
只需安装以上任一实用程序。

要将它们安装在Arch Linux及其衍生版本上,请运行:

$sudo pacman xclip xsel

在Fedora上:

$sudo dnf xclip xsel

在Debian,Ubuntu和Linux Mint上:

$sudo apt install xclip xsel

安装后,我们需要为pbcopy和pbpaste命令创建别名。
为此,请编辑~/.bashrc文件:

$vi ~/.bashrc

如果要使用xclip,请粘贴以下几行:

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

如果要使用xsel,请将以下行粘贴到~/.bashrc文件中。

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

保存并关闭文件。

接下来,运行以下命令以更新~/.bashrc文件中的更改。

$source ~/.bashrc

ZSH用户将以上各行粘贴到~/.zshrc文件中,并使用以下命令更新更改:

$source ~/.zshrc

让我们看一些例子。

pbcopy命令会将文本从stdin复制到剪贴板缓冲区。
例如,看下面的例子。

$echo "Welcome To theitroad!" | pbcopy

上面的命令会将文本“ Welcome To theitroad”复制到剪贴板。
我们可以稍后访问此内容,并使用如下所示的Pbpaste命令将其粘贴到所需的任何位置。

$echo `pbpaste`
Welcome To theitroad!

这是其他一些用例。

我有一个名为file.txt的文件,其中包含以下内容。

$cat file.txt 
Welcome To theitroad!

我们可以将文件的内容直接复制到剪贴板,如下所示。

$pbcopy < file.txt

现在,只要我们用另一个文件的内容更新了文件的内容,剪贴板中就可以使用该文件的内容。

要从剪贴板中检索内容,只需键入:

$pbpaste 
Welcome To theitroad!

我们还可以使用管道字符将任何Linux命令的输出发送到剪贴板。
看下面的例子。

$ps aux | pbcopy

现在,随时键入“ pbpaste”命令以显示剪贴板中“ ps aux”命令的输出。

$pbpaste