inux xsel 拷贝复制命令行输出放在系统剪贴板上

时间:2022-12-31 23:21:37

转载自:http://oldratlee.com/post/2012-12-23/command-output-to-clip

为什么要这么做?
直接把命令的输出(比如 grep/awk/sed/find 或是你的程序输出结果)放到剪切板上,这么就可以在 IM 中 CTRL + V 粘贴后发出去。
避免操作的繁琐和跳跃:把结果输出到文件、用文本编辑器打开文件、选中文本、CTRL + C。
通过命令将文件内容拷贝到剪切板,以避免拷贝错误、操作的跳跃(跳到文件编辑器)

Windows下

使用系统自带的 clip 命令。

# 位于 C:\Windows\system32\clip.exe。

示例:

# 将字符串 Hello 放入 Windows 剪贴板
echo Hello | clip

# 将 dir 命令输出(当前目录列表)放入 Windows 剪贴板
dir | clip

# 将 readme.txt 的文本放入 Windows 剪贴板
clip < README.TXT

# 将一个空行放入 Windows 剪贴板,即清空 Windows 剪贴板
echo | clip

Linux下

首先安装一个名为xsel的包:

  apt-get install xsel

  然后就可以在命令行下操作剪贴板了:)

  这里只贴几个常用的,更多的请参见man文档。

  显示剪贴板中的数据:

  xsel -b -oxsel -b -o

  向剪贴板中追加数据:

  xsel -b -a

(

-b, --clipboard
operate on the CLIPBOARD selection.)

  覆盖剪贴板中的数据:

  xsel -b -i

  例如说,我要将某个文档复制到剪贴板,以前我要打开这个文档,全选后复制,现在我只需要在bash中输入cat filename | xsel -b -i即可,非常方便。

使用 xsel 命令。示例:

cat README.TXT | xsel

# 如有问题可以试试-b选项

cat README.TXT | xsel -b

# 将readme.txt的文本放入剪贴板

xsel < README.TXT

# 清空剪贴板

xsel -c

xsel -o 显示数据

把剪贴板的数据放到新文件

xsel -o > newfile

参考:http://blog.csdn.net/kodeyang/article/details/12260243

Mac下
使用 pbcopy 命令。 # 对应有个 pbpaste 命令。示例:

# 将字符串Hello World放入剪贴板

echo 'Hello World!' | pbcopy

最佳实践
要复制结果又想看到命令的输出

命令的结果输出时,如果给复制命令(即上面提到的命令 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 这样繁琐操作。

inux xsel 拷贝复制命令行输出放在系统剪贴板上的更多相关文章

  1. 【转】Python实现修改Windows CMD命令行输出颜色(完全解析)

    用Python写命令行程序的时候,单一的输出颜色太单调.其实我们可以加些色彩,比如用红色表示警告,绿色表示结果正常等.网上也有几篇类似的帖子,但是没有把问题讲清楚,贴的代码也不是太清晰.这里,对Win ...

  2. laravel 命令行输出进度条

    有时候我们想在命令行执行一些耗时的命令,我们可以利用 symfony 提供的进度条相关的类,来输出一个进度条,显示当前的处理进度. 参考:http://symfony.com/doc/current/ ...

  3. window下的php命令行输出汉字乱码处理

    1. 在php的代码中加入 header("content-type:text/html;charset=gbk"); 2. 设置命令行的字体 在命令行上右击属性 字体 选择如下字 ...

  4. 记一次使用命令行启动部署在tomcat上的应用

    在Eclipes进行程序开发完成后,一般都会直接在Eclipse部署启动,其中的一些启动参数设置都会在其中进行,若用命令行启动,则需要手动配置. 程序开发完成后打成的war包,需要部署到Tomcat应 ...

  5. 教你用命令行激活win10系统

    对于笔者这样爱自己动手的电脑爱好者来说,当然会选择自己组装一台性价比高的台式电脑,一切都准备就绪了,系统也装好了,就差最后一步了--激活系统. 笔者真的很幸运,在网上找到了一些可以使用的密钥,我装的是 ...

  6. 在linux命令行中调试在OJ上的c&plus;&plus;代码

    gcc & g++现在是gnu中最主要和最流行的c & c++编译器 .g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c.这时候命令换做gcc即可. 编译器是根据gcc ...

  7. 命令行启动win7系统操作部分功能

    control.exe /name microsoft.folderoptions 启动资源管理器的 文件夹属性 选项卡 control.exe /name Microsoft.AddHardware ...

  8. 利用命令行删除Android系统自带应用的方法

    声明:本博客为原创博客.未经同意,不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(链接为http://blog.csdn.net/bettarwang/article/detai ...

  9. 异步获取CMD命令行输出内容

    当控制台命令使用process.Start(); 后可以直接显示输出内容,当然它是异步显示的不用等程序结束.代码如下: using System;using System.Collections.Ge ...

随机推荐

  1. assign与weak区别&lpar;面试&rpar;

    weak 比 assign 多了一个功能就是当属性所指向的对象消失的时候(也就是内存引用计数为0)会自动赋值为 nil ,这样再向 weak 修饰的属性发送消息就不会导致野指针操作crash. 可能不 ...

  2. &lbrack;转&rsqb;javascript 快速隐藏&sol;显示万行表格列的方法

    原文地址:javascript 快速隐藏/显示万行表格列的方法 隐藏表格列,最常见的是如下方式: td.style.display = "none"; 这种方式的效率极低.例如,隐 ...

  3. hdu 1034 Candy Sharing Game

    Candy Sharing Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  4. JavaScript自定义方法实现trim&lpar;&rpar;、Ltrim&lpar;&rpar;、Rtrim&lpar;&rpar;

    去除字符串两端的空格,是字符串处理非常常用的方法如何trim() .Ltrim() .Rtrim(),可惜的是javascript中无此方法,下面有个不错的自定义教程感兴趣的朋友可以参考下 去除字符串 ...

  5. android 63 Fragment

    #Fragment 是3.0平板才引入进来的,3.0之后就加入了Fragment.原来是一个屏幕就是一个Activity,>片段,碎片 1. 定义某一个片段的界面 继承Fragment类 pub ...

  6. 再造 &OpenCurlyDoubleQuote;手机QQ” 侧滑菜单(三)——视图联动

    代码示例:https://github.com/johnlui/SwiftSideslipLikeQQ 本 文中,我们将一起使用 UINavigationController 来管理主视图,并实现点击 ...

  7. canvas图表详解系列(3):动态饼状图(原生Js仿echarts饼状图)

    本章建议学习时间4小时 学习方式:详细阅读,并手动实现相关代码(如果没有canvas基础,需要先学习前面的canvas基础笔记) 学习目标:此教程将教会大家如何使用canvas绘制各种图表,详细分解步 ...

  8. &lbrack;bzoj4864&rsqb;&lbrack;BeiJing 2017 Wc&rsqb;神秘物质

    来自FallDream的博客,未经允许,请勿转载,谢谢. 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研 ...

  9. java串口通讯环境配置

    用java实现串口通信(windows系统下),配置如下: 1.comm.jar放置到 JAVA_HOME/jre/lib/ext;2.win32com.dll放置到 JAVA_HOME/bin;3. ...

  10. linux找不到动态链接库 &period;so文件的解决方法

    linux找不到动态链接库 .so文件的解决方法 如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形. 可以通过ldd ...