ssh -ed到我的Web主机的目录中,然后tar -ed的Web应用程序进行下载。当我尝试将mv转换为~/mydirectory/backups/home/mydirectory/backups时,它将“ home”定义为我被ssh插入的Web主机上的根目录。仍在虚拟主机系统中?

评论

您要连接什么操作系统?

#1 楼

首先,第一件事:ssh是一种远程登录另一台计算机的方法。 ssh之后获得的shell(命令行)(几乎)与在远程计算机中打开xterm相同。如果没有提供移动文件的方法。

但是,远程计算机接受ssh连接的事实为您提供了一些选项来交换文件:

使用scp
要从本地计算机复制到远程计算机,请在本地计算机中键入:

scp /tmp/file user@example.com:/home/name/dir

(其中/ tmp / file可以替换为任何本地文件和/ home / name / dir和任何远程目录)

要从远程计算机复制到本地计算机,请在本地计算机中键入:

scp user@example.com:/home/name/dir/file /tmp

使用sshfs
这有点高级,但是却好得多(当两台计算机的互联网连接都很好时。如果不能,请坚持使用scp)

您可以“链接”从远程计算机到本地计算机的(空)目录的目录。假设您将/ some / remote / dir从远程计算机“链接”到计算机中的/ home / youruser / remotecomp。如果远程计算机中有文件/ some / remote / dir / file,则可以在/ home / youruser / remotecomp / file上看到它。您可以照常复制和制作MV,甚至可以更改远程文件和目录。

但是请注意,当连接结束时,/ home / youruser / remotecomp再次变为空目录,并且您仅将复制到其他目录的文件保留在本地计算机中。 />要实现此目的:

1)安装sshfs:

sudo apt-get install sshfs

2)创建一个空目录

mkdir /home/youruser/remotecomp

3)“链接”两个目录(正确的名称是mount)

sshfs user@server.com:/some/remote/dir /home/youruser/remotecomp

4)欣赏

5)“取消链接”目录

fusermount -u /home/youruser/remotecomp

如果本地计算机运行Windows,则可以找到Windows的scp版本。参见例如winscp

评论


是否可以通过“远程计算机上的终端”将文件从远程计算机复制到本地计算机?在您的情况下,您使用了本地计算机上的终端。我说的是本地计算机是Windows,远程计算机是ubuntu的情况,我通过ssh登录到远程计算机。

– CKM
17 Mar 23 '17 at 8:13

通常不会。据我所知,通过“远程计算机中的终端”进行复制意味着您需要在“本地计算机”中使用SSH服务器(我在回答时有意跳过了该服务器,但“远程计算机接受ssh连接这一事实”的意思是说“远程计算机正在运行ssh服务器的事实”)

– josinalvo
17年5月30日在14:30

但是,您可以找到Windows的“ scp客户端”。参见例如winscp.net/eng/download.php

– josinalvo
17年5月30日14:31



我喜欢sshfs选项

– Fibo Kowalsky
18 Mar 2 '18 at 22:52

如果要传输大文件,请在rsh -r -P -e ssh / tmp / file user@example.com:/ home / name / dir上通过ssh使用rsync。这是因为如果文件传输中途失败,则scp只会删除文件。另一方面,如果将rsync与-P选项一起使用,它将在远程计算机上保留不完整的文件,并且在重新启动传输时,将确保远程计算机上已经存在的文件与您的文件匹配。本地计算机,然后在传输停止的地方继续。

–鲍里斯(Boris)
18年11月2日23:10



#2 楼

您可以使用scprsync。在您的本地系统中:

scp remoteuser@remotehost:/remote/dir/file /local/dir/

但是,由于您提到了备份,因此我认为该备份将是增量备份,因此您不时需要这样做。因此,rsync是增量备份的更好选择。在本地外壳上:

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/

有关选项,请参见rsync(1)scp(1)手册页。

#3 楼

您可以使用scp安全副本。

从本地外壳程序:将Web主机的/tar.archive到/ home / mydirectory / backups /

其他选项:

-C:启用压缩

#4 楼

我有同样的问题。这是简单的解决方案:-


打开nautilus(文件浏览器)

单击左面板底部的+ Other Locations
底部有一条Connect to server。在输入框中输入ssh地址,例如ssh://111.222.333.444/
在打开的对话框中输入您的用户名和密码。
成功通过身份验证后,您将位于远程位置home。随时随地移动文件。


评论


好答案!简单而又最接近实际问题的答案,即您如何从ssh远程计算机中进行MV。答案是,您无法在本地计算机上执行此操作。或这个!您可以通过资源管理器以图形方式进行操作,以便至少对用户而言确实确实可以将文件直接从远程移动到本地。

– Kvothe
18年7月4日在14:49

#5 楼

其他答案推荐rsyncscp,这两个都要求您知道要在远程计算机上复制的文件的位置。机器,就像您可以使用ssh一样,要运行sftp。登录到服务器与ssh非常相似,但是登录后,键入help即可获取命令列表-它使您可以在本地和远程计算机上四处移动,并轻松地来回传输文件。 >

#6 楼

奇怪的是从ssh内部不可能。在常规终端中,可以使用zmodem命令发送/接收文件。

这有助于谷歌搜索zssh:http://zssh.sourceforge.net/。必须将其作为原始ssh的包装程序运行。