我在stackoverflow上遵循了一些解决方案,几乎每个解决方案都有不同的解决方案。 我试图通过执行以下操作来复制远程服务器上文件的全部内容:
vi file1
在我正在执行的文件中:
:%y
返回" 1200条线猛拉"
然后我转到我本地机器上的另一个vi文件。我这样做:
vi file2
然后我尝试使用空{vi}文件中的ctrl p
,ctrl R
以及许多其他命令进行粘贴。
我甚至试过cat dump.sql | xclip
。那也没有。我正在运行ubuntu 14.04。有人可以告诉我如何实现这个复制全部并粘贴东西??
答案 0 :(得分:1)
当你进入服务器并使用vim时,你使用服务器的vim而不是你的vim。
你的vim或服务器的vim没有任何问题。
如果您要复制整个文件,我只需使用scp将文件下载到您的计算机。
as @ Meninx - メネンックス说你可以尝试这样的事情:e scp://user@host/relative/path/from/home.txt
如果你想在你的vim中完成整个操作。
以上代码来自Vim: access to system clipboard via ssh - Linux to OS X
答案 1 :(得分:0)
方式 - 我这样做 - (对改进开放!)是通过在vim中对文件进行scp。
来自shell:
然后在vim中:
对于nzajt推荐的scp://解决方案,似乎必须启用这些(based on the link he provided):
- 在/etc/ssh/sshd.conf中启用SSH服务器端的X11Forwarding
- 在连接时使用-Y选项为ssh客户端启用它:ssh -Y your_server
我无法让scp://解决方案正常工作。
答案 2 :(得分:0)
这些答案中的许多对我来说都不起作用。我不知道我的语法是否错误或者其他什么。这对我来说很困惑。这就是我做的。我会以非常明确的方式说出来。
首先确保您可以ssh到您的服务器。对于该副本您的本地 / .ssh / id_rsa.pub 并将其粘贴到您的ec2实例 / .ssh / authorized_keys 上。所以现在尝试ssh到你的服务器,如ssh <your ubuntu user>@<ec2_public_ip>
。如果您能够登录到您的服务器,那么您可以进行下一步。
通过执行以下操作找到要下载的文件名的路径:
find "$(cd ..; pwd)" -name "filename"
你会得到这条路。复制该路径。下一步
输入:在您的本地系统上
-$ scp ssh <your ubuntu user>@<your ec2 ip>:<the path you copied> <and the path on your local to download>
这将为你做到。我希望这一点很清楚,如果像我这样的新秀下次被卡住了。