奇技淫巧:在 ssh 里面把服务器的文本复制到本地电脑

2024-05-15 13:08

本文主要是介绍奇技淫巧:在 ssh 里面把服务器的文本复制到本地电脑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅读本文大概需要 2 分钟。

使用 macOS 的同学,应该熟悉一个命令pbcopy,它可以在命令行中把一段内容写入到剪贴板,例如:

echo "kingname" | pbcopy

就能把字符串kingname复制到剪贴板里面。我们也可以使用这个方法把一个文件中的内容写入到剪贴板:

cat xxx.txt | pbcopy

这样我们就不需要把文件打开再手动复制的。

有时候,我要把服务器上面的日志复制下来。原来都是进入服务器以后,用 vim 打开日志文件,用鼠标选中再复制。且不说服务器是 Linux,没有pbcopy这个命令,即使有这个命令,服务器上又怎么能访问本地的剪贴板呢?

在网上一搜,竟然还真有办法。使用OSC52实现iTerm2远程pbcopy - 风雪之隅[1]这篇文章借助 iterms 的一个功能和几个特殊的字符,通过 php 实现了这个功能。我们来把它改写成 Python 版本。

首先打开 iterms 的设置,把方框框住的这一项勾上:

然后,在 iterms 里面,通过 ssh 连上服务器。

然后,我们来写一段 Python 代码:

import base64print('\033]52;c;' + base64.b64encode('青南'.encode()).decode() + '\007')

然后在服务器上运行这段代码,运行效果如下图所示:

什么都没有打印出来?但不要担心,现在,你随便找一个可以打字的输入框,按下键盘上面的Command +V键。你会发现,青南两个字竟然被粘贴出来了!

有了这个机制,我们就来人工写一个pbcopy.py,接收管道的输入:

其中, #! /usr/bin/python3 是远程服务器上面 Python 的地址。你可以通过命令 which python3 找到这个地址。

保存完成以后,给他添加可执行权限:chmod +x pbcopy.py

现在,我们试一试把远程的多行文本复制到本地的剪贴板中:

我这里复制的就是这个代码自身。大家也可以使用其他文件来测试。复制完成以后,我们随便找个地方粘贴,发现复制成功!

现在,我们使用软连接,把这个可执行文件变得更像命令一些:

sudo ln -s /home/ubuntu/pbcopy.py /usr/bin/pbcopy

运行效果如下图所示:

完美满足要求。

需要注意的是,这个程序会把管道输入的所有内容全部接收完成以后才会复制,所以,如果你输入的文本内容太大,可能会撑爆内存。

参考资料

[1]

使用OSC52实现iTerm2远程pbcopy - 风雪之隅: https://www.laruence.com/2020/05/21/5880.html

推荐阅读

1

超全!我把 Python 的 200个标准库整理出来了

2

牛逼!GitHub 耗时整整一年开发的代码扫描工具终于上线了!

3

脑洞大开!假如将苹果发布会改成 C++ 发布会...

4‍‍

怎样才算一个计算机知识体系完整的毕业生

这篇关于奇技淫巧:在 ssh 里面把服务器的文本复制到本地电脑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991892

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

RTMP流媒体服务器 crtmpserver

http://www.oschina.net/p/crtmpserver crtmpserver又称rtmpd是Evostream Media Server(www.evostream.com)的社区版本采用GPLV3授权 其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。 支持RTMP的一堆协议(RT

Level3 — PART 3 — 自然语言处理与文本分析

目录 自然语言处理概要 分词与词性标注 N-Gram 分词 分词及词性标注的难点 法则式分词法 全切分 FMM和BMM Bi-direction MM 优缺点 统计式分词法 N-Gram概率模型 HMM概率模型 词性标注(Part-of-Speech Tagging) HMM 文本挖掘概要 信息检索(Information Retrieval) 全文扫描 关键词

在SSH的基础上使用jquery.uploadify.js上传文件

在SSH框架的基础上,使用jquery.uploadify.js实现文件的上传,之前搞了好几天,都上传不了, 在Action那边File接收到的总是为null, 为了这个还上网搜了好多相关的信息,但都不行,最后还是搜到一篇文章帮助到我了,希望能帮助到为之困扰的人。 jsp页面的关键代码: <link rel="stylesheet" type="text/css" href="${page