温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在ssh里面把服务器的文本复制到本地电脑

发布时间:2021-07-27 11:13:44 来源:亿速云 阅读:185 作者:chen 栏目:编程语言

这篇文章主要讲解了“怎么在ssh里面把服务器的文本复制到本地电脑”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在ssh里面把服务器的文本复制到本地电脑”吧!

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

echo "kingname" | pbcopy

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

cat xxx.txt | pbcopy

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

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

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

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

怎么在ssh里面把服务器的文本复制到本地电脑

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

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

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

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

怎么在ssh里面把服务器的文本复制到本地电脑

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

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

怎么在ssh里面把服务器的文本复制到本地电脑

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

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

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

怎么在ssh里面把服务器的文本复制到本地电脑

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

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

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

运行效果如下图所示:

怎么在ssh里面把服务器的文本复制到本地电脑

完美满足要求。

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

感谢各位的阅读,以上就是“怎么在ssh里面把服务器的文本复制到本地电脑”的内容了,经过本文的学习后,相信大家对怎么在ssh里面把服务器的文本复制到本地电脑这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI