![在本地计算机和远程计算机之间传输文件的最便捷方法](https://linux22.com/image/191822/%E5%9C%A8%E6%9C%AC%E5%9C%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%92%8C%E8%BF%9C%E7%A8%8B%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B9%8B%E9%97%B4%E4%BC%A0%E8%BE%93%E6%96%87%E4%BB%B6%E7%9A%84%E6%9C%80%E4%BE%BF%E6%8D%B7%E6%96%B9%E6%B3%95.png)
scp
在某些远程服务器上工作时,每次我需要复制一个小文件时,这都是相当累人的。
我们还有哪些其他解决方案?哪一种最方便?
最好是这样的东西:
- 两边都不需要复杂的设置(假设两台机器都是现代 Ubuntu)
- 打开某种持久连接,因此后续传输只需很少的输入
(也许是一个持续同步的 FTP 服务器?)
答案1
也许是一个持续同步的 FTP 服务器?
FTP 是不建议。该协议存在很多问题德班和 核心几年前关闭了他们的 FTP 服务。您的问题有 2 个解决方案:
如果您正在编辑文本文件,您应该首先检查您使用的编辑器是否具有允许您远程编辑文件的功能。Emacs 陷阱是此类功能的一个示例。
如果您正在复制二进制文件或使用不允许您远程编辑文件的编辑器,您可以使用 sshfs 在本地安装远程服务器(您不需要是 root):
$ mkdir ~/ssh-mount
$ sshfs <your-ssh-server>: ~/ssh-mount
用于连接到远程服务器的用户的主目录将安装在 ~/ssh-mount 目录中。您可以明确指定要挂载的目录:
。根据您正在执行的操作,您现在可以像打开本地文件一样在编辑器中正常打开文件,也可以指示编译器将输出二进制文件保存在 ssh-mount 目录中,例如通过-o ~/ssh-mount
在 gcc 中指定选项。
您也不必成为 root 来卸载该目录:
$ fusermount -u ~/ssh-mount
请注意,并非所有 SSH 服务器都实现 sshfs - OpenSSH 实现了,但 Dropbear 则没有。