我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:

cat file | clipboard

当前回答

在Wayland上的xcopy似乎不工作,使用wl-clipboard代替。 比如戴着软呢帽

sudo dnf install wl-clipboard

tree | wl-copy

wl-paste > file

其他回答

一种方法是:

安装xclip,例如: Sudo apt-get安装xclip 管道输出到xclip复制到剪贴板: Cat文件| xclip 将刚才复制的文本粘贴到X应用程序中: xclip - o

要粘贴除X应用程序之外的其他地方,例如浏览器窗口中网页的文本区域,请使用:

cat file | xclip -selection clipboard

考虑创建一个别名:

alias "c=xclip"
alias "v=xclip -o"

为了了解这有多有用,假设我想在一个新的终端窗口中打开我的当前路径(在某些系统中可能有其他的方法,如Ctrl+T,但这只是为了说明目的):

Terminal 1:
pwd | c

Terminal 2:
cd `v`

注意v周围的' ',这首先将v作为命令执行,然后将其替换为cd使用。

只复制内容到X剪贴板

cat file | xclip

这是Arch Linux用户的一个很好的解决方案。用pacman安装xsel,如下所示:

sudo pacman -S xsel

在~/中创建别名。Bashrc文件,比如:

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

用源代码重新加载终端:

source ~/.bashrc

像上面提到的那样使用它:

cat your_file.txt | pbcopy

供参考,在~/中填充所有别名是很好的做法。别名并在。bashrc文件中调用它

当我需要复制ssh-key时,我通常会执行这个命令:

cat ~/.ssh/id_rsa.pub | pbcopy

Cmd +v或ctrl+v任意位置。

在OS X上,使用pbcopy;Pbpaste的方向相反。

pbcopy < .ssh/id_rsa.pub

我写了这个小脚本,它把猜测工作从复制/粘贴命令中去掉。

该脚本的Linux版本依赖于系统中已经安装的xclip。这个脚本叫做剪贴板。

#!/bin/bash
# Linux version
# Use this script to pipe in/out of the clipboard
#
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if command -v xclip 1>/dev/null; then
    if [[ -p /dev/stdin ]] ; then
        # stdin is a pipe
        # stdin -> clipboard
        xclip -i -selection clipboard
    else
        # stdin is not a pipe
        # clipboard -> stdout
        xclip -o -selection clipboard
    fi
else
    echo "Remember to install xclip"
fi

该脚本的OS X版本依赖于pbcopy和pbpaste,它们已预安装在所有mac电脑上。

#!/bin/bash
# OS X version
# Use this script to pipe in/out of the clipboard
#
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if [[ -p /dev/stdin ]] ; then
    # stdin is a pipe
    # stdin -> clipboard
    pbcopy
else
    # stdin is not a pipe
    # clipboard -> stdout
    pbpaste
fi

使用脚本非常简单,因为您只需像这两个示例中所示的那样通过管道输入或输出剪贴板。

$ cat file | clipboard

$ clipboard | less