为什么要这么做?
- 直接把命令的输出(比如grep/awk/sed/find或是你的程序输出结果)放到剪切板上,这么就可以在IM中CTRL + V,发出去。
避免操作的繁琐和跳跃:把结果输出到文件、用文本编辑器打开文件、选中文本、CTRL + C。 - 通过命令将文件内容拷贝到剪切板,以避免拷贝错误、操作的跳跃(跳到文件编辑器)
Windows下
使用clip
命令。
# 位于C:Windowssystem32clip.exe
。
示例:
echo Hello | clip # 将字符串Hello放入Windows剪贴板 dir | clip # 将dir命令输出(当前目录列表)放入Windows剪贴板 clip < README.TXT # 将readme.txt的文本放入Windows剪贴板 echo | clip # 将一个空行放入Windows剪贴板,即清空Windows剪贴板
Linux下
使用xsel
命令。
示例:
cat README.TXT | xsel cat README.TXT | xsel -b # 如有问题可以试试-b选项 xsel < README.TXT # 将readme.txt的文本放入剪贴板 xsel -c # 清空剪贴板
Mac下
使用pbcopy
命令。 # 对应有个pbpaste
命令。
示例:
echo 'Hello World!' | pbcopy # 将字符串Hello World放入剪贴板
最佳实践
要复制结果又想看到命令的输出
命令的结果输出时,如果给复制命令(即上面提到的命令clip、xsel、pbcopy)那么命令输出就看不到了。如果你想先看到命令的输出,可以下面这么做。
$ echo 'Hello World!' | tee tmp.file.txt Hello World! $ xsel < tmp.file.txt $ rm tmp.file.txt
即先使用tee
命令把输出输到控制台和一个文件中。
命令执行完成后,再把输出的内容放到剪贴板中。
复制SSH的公有KEY
使用下面的命令:
$ pbcopy < ~/.ssh/id_rsa.pub
注:不同系统使用不同的复制命令
避免用文本编辑器打开这个文件、选中文本、CTRL + C这样繁琐操作。
参考资料
- Windows下把命令行结果存放在剪贴板
- xsel(1) – Linux man page
- 命令行下可直接用pbcopy命令将文件内容拷贝到剪切板以避免拷贝错误
- pbpaste & pbcopy in Mac OS X (or: Terminal + Clipboard = Fun!)
转载请注明:爱开源 » 把命令行输出放在系统剪贴板上