问题描述
我把ssh
放到我的网络主机的目录中,然后tar
– 把webapp下载下来。当我尝试将mv
添加到~/mydirectory/backups
或/home/mydirectory/backups
时,它将”home”定义为I’m ssh’所在的虚拟主机上的根。
我仍然在网络主机的系统内部时,如何在ssh中将mv映射到本地驱动器?
最佳解决思路
首先要做的是:ssh是一种远程登录到另一台计算机的方式。你在ssh之后得到的shell(命令行)与在远程机器上打开xterm相同(几乎)相同。如果没有这种方式来移动文件。
但是,远程计算机接受ssh连接的事实为您提供了一些交换文件的选项:
使用scp要从本地计算机复制到远程,请在本地计算机中键入:
scp /tmp/file user@example.com:/home/name/dir
(其中/tmp /文件可以用任何本地文件和/home /name /dir替换为任何远程目录)
要从远程计算机复制到本地计算机,请在本地计算机中键入:
scp user@example.com:/home/name/dir/file /tmp
使用sshfs这有点更先进,但更好,更好(当两台计算机的互联网连接良好时,如果没有,请坚持使用scp)
您可以从远程计算机的目录”link”到本地计算机的(空)目录。在远程计算机中将”link” /some /remote /dir指向您的计算机中的/home /youruser /remotecomp。如果远程计算机中存在文件/some /remote /dir /file,可以在/home /youruser /remotecomp /file中看到它。您可以像往常一样复制和mv,甚至可以更改远程文件和目录。
但是请注意,当连接结束时,/home /youruser /remotecomp再次变为空dir,并且只保留在本地计算机中复制到其他目录的文件
为了达成这个:
1)安装sshfs:
sudo apt-get install sshfs
2)创建一个空的目录
mkdir /home/youruser/remotecomp
3)”link”这两个目录(右边是mount)
sshfs user@server.com:/some/remote/dir /home/youruser/remotecomp
4)享受
5)”unlink” dirs
fusermount -u /home/youruser/remotecomp
如果本地计算机运行Windows您可以找到用于Windows的scp
版本。参见例如winscp
次佳解决思路
您可以使用scp
或rsync
。在您的本地系统中:
scp remoteuser@remotehost:/remote/dir/file /local/dir/
但是,既然你提到了备份,我认为这将是渐进的,你需要时不时地做。因此,rsync
是增量备份的更好选择。在你的本地shell上:
rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/
有关选项,请参阅rsync(1)
和scp(1)
手册页。
第三种解决思路
你可以使用scp安全拷贝。
从你当地的 shell :
scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/
此示例将通过ssh从您的虚拟主机的/path/of-the/tar.archive复制到/home /mydirectory /backups /
其他选项:
-C:启用压缩
第四种思路
我有同样的问题。这是简单的解决方案: –
-
打开 nautilus (文件资源管理器)
-
点击左侧面板底部的
+ Other Locations
。 -
在底部有一条条
Connect to server
。在输入框中写入ssh地址,例如ssh://111.222.333.444/
。 -
在打开的对话框中输入您的用户名和密码。
-
成功验证后,您将位于远程位置的
home
。随意移动文件在这里和那里。