我想从远程服务器下载文件到本地驱动器,并通过命令行执行此操作。我还希望能够通过 SSH 执行此操作。我该怎么做?
注意:远程服务器是Ubuntu,本地是Mac OS X
答案1
使用scp
-command,它在 SSH 上运行。例如:
scp [email protected]:/path/to/file localfile
反过来也可以
scp localfile username@host:/path/remotefile
用户名、路径和文件名可以省略(但不能省略:
!)。
正如 Iain 所说,SFTP 也有效,但我倾向于喜欢scp
它的cp
类似用法。
答案2
您也可以使用rsync
它。它可以通过 SSH 工作。
答案3
我使用 SFTP 来实现这一点。它是命令行,使用与 SSH 相同的安全性。
答案4
如果您不能使用scp
SFTP,则可以tar
通过 SSH 使用:
tar cf - . | ssh otherhost "cd /mydir; tar xvf -"
如果您有稀疏文件(否则将会“爆炸”),这个也很好。