在 SSH 中,我如何 mv 到我的本地系统?

Jea*_*ius 140 ssh tar

ssh-ed 进入我的虚拟主机的目录,并tar-ed 下载 webapp。当我尝试mv~/mydirectory/backups或者/home/mydirectory/backups,它的“家”定义为我的虚拟主机提供商说我ssh'ed成根。

我如何在 ssh 中 mv 到本地驱动器,同时仍然在网络主机的系统内?

jos*_*lvo 195

首先要做的是: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, 您可以找到scpfor windows 的版本。参见,例如,winscp


Moh*_*ati 17

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

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

但是,既然你提到了备份,我假设它是增量的,你需要不时地做它。所以,rsync增量备份是更好的选择。在您的本地外壳上:

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

看到rsync(1)scp(1)手册页的选项。


pl1*_*1nk 10

您可以使用scp安全副本。

从你的本地外壳:

scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/
Run Code Online (Sandbox Code Playgroud)

此示例将通过 ssh 从您的网络主机的 /path/of-the/tar.archive 复制到 /home/mydirectory/backups/

额外选项:

-C : 启用压缩


小智 6

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

  1. 打开 nautilus (文件浏览器)
  2. 单击+ Other Locations左侧面板底部的 。
  3. 在底部有一个条带Connect to server。在输入框中写上ssh地址如ssh://111.222.333.444/.
  4. 在打开的对话框中输入您的用户名和密码。
  5. 成功验证后,您将位于home远程位置。随意移动文件在这里和那里。