Linux: xclip,pbcopy,xsel用法 terminal 复制粘帖 (mac , ubuntu)

来自:ITEYE

作者:天梯梦


1. Windows下

 

使用系统自带的clip命令。
# 位于C:\Windows\system32\clip.exe

 

示例:

C代码   收藏代码
  1. echo Hello | clip  
  2. # 将字符串Hello放入Windows剪贴板  
  3.    
  4. dir | clip  
  5. # 将dir命令输出(当前目录列表)放入Windows剪贴板  
  6.    
  7. clip < README.TXT    
  8. # 将readme.txt的文本放入Windows剪贴板  
  9.    
  10. echo | clip  
  11. # 将一个空行放入Windows剪贴板,即清空Windows剪贴板  

 

2. Ubuntu下

 

ubuntu下的用户可以只用apt-get来安装:

C代码   收藏代码
  1. sudo apt-get install xclip  
 
其他发行版的用户可以选择自己的安装方式,也可以用源码编译安装,xclip项目的主页是: http://sourceforge.net/projects/xclip/

xclip可以将内容输出到‘X’的剪切板中,比如:

C代码   收藏代码
  1. echo "Hello, world" | xclip  

 

执行这个命令后你就可以用鼠标中键来在X程序中将内容粘贴出来。但是更多的时候,我们需要不仅仅把内容输出到‘X’的剪切板中,而是希望可以在GUI程序 中用ctrl + v也可以粘贴(比如,输出到gnome的剪切板中),下面这段命令就可以让你将内容输出到gnome的剪切板中:

C代码   收藏代码
  1. echo "Hello, world" | xclip -selection clipboard  

 

再在一个GUI程序中按下ctrl + v,看下是不是粘贴上去了呢?顺着这个命令,我也重新写了一下ifconfig,让它在执行后输入内容到终端的同时,也将ip地址输出到剪切板中,因为通常情况下,查看ifconfig就是为了获取机器的ip地址:

C代码   收藏代码
  1. alias ifconfig='/sbin/ifconfig && echo `/sbin/ifconfig | sed -n 2p | awk "{ print \\$2 }" | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"` | xclip -selection clipboard'  
 

或者

C代码   收藏代码
  1. xclip -sel clip < file   

 

此时你就可以在网页等编辑框CTRL+V了。

 

项目主页:http://sourceforge.net/projects/xclip/
命令man page: http://linux.die.net/man/1/xclip

 

-i-in
read text into X selection from standard input or files (default)
-o-out
prints the selection to standard out (generally for piping to a file or program)
-f-filter
when xclip is invoked in the in mode with output level set to silent (the defaults), the filter option will cause xclip to print the text piped to standard in back to standard out unmodified
-l-loops
number of X selection requests (pastes into X applications) to wait for before exiting, with a value of 0 (default) causing xclip to wait for an unlimited number of requests until another application (possibly another invocation of xclip) takes ownership of the selection
-d-display
X display to use (e.g. "localhost:0"), xclip defaults to the value in $ DISPLAY if this option is omitted
 
3. Linux下

使用xsel命令。

 

示例:

C代码   收藏代码
  1. cat README.TXT | xsel  
  2. cat README.TXT | xsel -b # 如有问题可以试试-b选项  
  3. xsel < README.TXT  
  4. # 将readme.txt的文本放入剪贴板  
  5.    
  6. xsel -c  
  7. # 清空剪贴板  
 

4. Mac下

 

使用pbcopy命令。 # 对应有个pbpaste命令。

 

示例:

C代码   收藏代码
  1. echo 'Hello World!' | pbcopy  
  2. # 将字符串Hello World放入剪贴板  
 
C代码   收藏代码
  1. cat myFile.txt | pbcopy  
 
C代码   收藏代码
  1. pbpaste > file.txt  
 
要复制结果又想看到命令的输出

命令的结果输出时,如果给复制命令(即上面提到的命令clip、xsel、pbcopy)那么命令输出就看不到了。如果你想先看到命令的输出,可以下面这么做。

C代码   收藏代码
  1. $ echo 'Hello World!' | tee tmp.file.txt  
  2. Hello World!  
  3. $ xsel < tmp.file.txt  
  4. $ rm tmp.file.txt  
 
即先使用 tee命令把输出输到控制台和一个文件中。命令执行完成后,再把输出的内容放到剪贴板中。
 
复制SSH的公有KEY

使用下面的命令:

C代码   收藏代码
  1. $ pbcopy < ~/.ssh/id_rsa.pub  

 

注:不同系统使用不同的复制命令。避免用文本编辑器打开这个文件、选中文本、CTRL + C这样繁琐操作。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值