我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:
cat file | clipboard
当前回答
当我需要复制ssh-key时,我通常会执行这个命令:
cat ~/.ssh/id_rsa.pub | pbcopy
Cmd +v或ctrl+v任意位置。
其他回答
在安装了xclip的Linux下:
Xclip -选择剪贴板<文件
这里有两个简单的解决方案,每个方法只有两行代码!
不需要安装额外的软件(后者可能会带来大量的依赖关系,其中一些有潜在的安全问题)
注:第二种方法不适用于Debian中的nano编辑器。
方法1:
Sudo打印“\n#$(日期)”> > /道路/ intended_file 注意:在任何一行前面加上前面的注释符号#不会损坏任何文件。 用编辑器打开文件 Sudo gedit /path/intended_file 然后复制日期到编辑器内的剪贴板,并粘贴到任何地方。
2方法
将位于磁盘任意位置的uniqueFile文件的内容写入delete.txt文件: sudo find / -iname 'uniqueFile' >> delete.txt 用文本编辑器打开文件 中delete.txt 并从编辑器中复制(Ctrl-C)突出显示的所需的long-long路径到剪贴板。或者你也可以使用终端纳米编辑器(虽然不支持“标准”Ctrl-C)。 可选附加步骤: 如果delete.txt已经是你的个人日志文件: rm delete.txt 或 mv delete.txt memo-uniqueFile.txt
一种方法是:
安装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
使用.bashrc脚本的本机解决方案
Linux, macOS, Windows (WSL/CYGWIN)
这些系统都使用自己的工具将剪贴板功能合并到命令行界面(CLI)中。这意味着,当使用例如在Windows子系统for Linux (WSL)上的Ubuntu命令行时,通常的xclip解决方案将不起作用。这同样适用于macOS。
下表概述了在不同系统上需要的复制/粘贴工具:
OS | Copy | Paste |
---|---|---|
WSL | clip.exe |
powershell.exe Get-Clipboard |
CYGWIN | > /dev/clipboard |
cat /dev/clipboard |
macOS | pbcopy |
pbpaste |
Linux | xclip -sel clip |
xclip -sel clip -o |
统一的。bashrc解决方案
只需将以下代码放入~/。允许在所有系统上使用复制和粘贴。该解决方案适用于“正常”Linux系统(即Ubuntu, Debian)以及WSL和macOS:
if grep -q -i microsoft /proc/version; then
# on WSL: version contains the string "microsoft"
alias copy="clip.exe"
alias paste="powershell.exe Get-Clipboard"
elif grep -q -i cygwin $(uname -a); then
# on CYGWIN: uname contains the string "cygwin"
alias copy="/dev/clipboard"
alias paste="cat /dev/clipboard"
elif [[ ! -r /proc/version ]]; then
# on MAC: version is not readable at all
alias copy="pbcopy"
alias paste="pbpaste"
else
# on "normal" linux
alias copy="xclip -sel clip"
alias paste="xclip -sel clip -o"
fi
在所有系统上使用
复制:
# pipe
echo "hello world" | copy
# or for direct file input
copy < file
粘贴:
paste > file
在OS X上,使用pbcopy;Pbpaste的方向相反。
pbcopy < .ssh/id_rsa.pub